标签: command-line-tool

使用entry_points / console_scripts时“没有名为x.__main__的模块;'x'是一个包,无法直接执行”

我有一个名为 Rackfocus 的 CLI 工具。我已经发布到 PyPI,并且我有理由确定它之前工作得很好。当我尝试在 Mac 上使用当前版本的 Python 运行它时,出现错误:

No module named rackfocus.__main__; 'rackfocus' is a package
and cannot be directly executed
Run Code Online (Sandbox Code Playgroud)

我想要的只是一个带有一个入口点的包,用户可以使用 pip 下载和使用该包。

根据教程,我在setup.py中有这个:

packages=['rackfocus']
entry_points = {
    'console_scripts': [
        'rackfocus=rackfocus.run:main'
    ]
}
Run Code Online (Sandbox Code Playgroud)

我有一个rackfocus.run:main函数、一个init .py 等等。怎么了?

您可以在本地重现此内容:

  1. 克隆我的仓库。
  2. 创建并激活 virtualenv(可选)。
  3. pip3 install -e .
  4. python3 -m rackfocus

python pip setuptools command-line-tool pypi

12
推荐指数
1
解决办法
2万
查看次数

为Mac OS命令行工具编写XCTestCase

我正在尝试对为Mac OS编写的命令行工具进行单元测试.

当我第一次创建项目时,XCode不会在项目导航器中生成测试组.当我尝试添加新的测试目标时,它不会让我选择将我的目标指定为"要测试的目标".

我的问题是:甚至可以将XCTest用于命令行工具项目吗?或者,由于我可以从命令行运行它,这只是被认为是微不足道的?我能理解这个推理,但我确实想测试内部功能.

macos xcode command-line-tool xctest

11
推荐指数
2
解决办法
2934
查看次数

如何部署Mac命令行工具

我使用Xcode OS X命令行工具项目模板创建了一个控制台应用程序.

当一切都说完了,我的机器上放置了实际的"Release"二进制文件在哪里?在搜索了SO之后,我发现了我可以在哪里找到"Debug"二进制文件:

〜/资源库/开发/ Xcode中/ DerivedData /项目/生成/产品/调试

我在哪里可以找到"发布"二进制文件?或者是否需要在Xcode中输出这些二进制文件以便我可以分发控制台应用程序?

xcode release command-line-tool

10
推荐指数
1
解决办法
4132
查看次数

OSX:对文件夹中的所有文件执行相同的命令

我正在使用名为TMX的命令行工具(https://github.com/tonybeltramelli/TMXResolutionTool)我想在某个文件夹中的每个.png文件上执行此命令.我怎样才能做到这一点?

这是它的使用方式:

TMXResolutionTool <tmx path> <resize ratio>
TMXResolutionTool <image path> <resize ratio>
TMXResolutionTool <image path> <new width> <new height>
Run Code Online (Sandbox Code Playgroud)

干杯.

macos command-line command-line-tool image-compression

10
推荐指数
2
解决办法
1万
查看次数

在macOS命令行工具项目中读取文件

我在我的macOS命令行工具项目中添加了一些JSON文件,但我似乎无法通常的方式找到它们.

if let path = Bundle.main.path(forResource: "Data", ofType: "json")
{
    if let contents = try? String(contentsOfFile: path)
    {
        print (contents)
    }
    else { print("Could not load contents of file") }
}
else { print("Could not find path") }
Run Code Online (Sandbox Code Playgroud)

在基于视图的应用程序中使用时,此代码可以正常工作,但始终在命令行工具中打印"无法找到路径".

有谁知道我做错了什么?

PS:完全清楚我应该使用guard这个语句,但代码不在函数中,只是在main.swift中讨论,直到我弄明白这一点.

xcode bundle command-line-tool swift

10
推荐指数
2
解决办法
3182
查看次数

如何将 raku -e 和 -n 与多个文件 glob 一起使用

我想在 Windows 上的 raku 中执行以下操作

raku -n -e ".say if /mydatabegin/;" *.file
Run Code Online (Sandbox Code Playgroud)

无法打开文件 C:\..\*.file: 参数无效

glob 不被解释为 glob。我认为这是因为 Windows 要求你的程序自己进行通配?那么是否有一个预处理指令或函数,甚至是我可能错过或重定向的开关,或者允许扩展 glob 同时保持 -n (或 -p)和 -e 开关的简单性的东西?

显然,我可以通过删除 -n (或 -p)将其更改为完整程序,只需使用 -e 指定 main 并循环 glob 结果。但我真的很喜欢-n。

附言。我实际上只是在学习 raku,并且很惊讶这并没有开箱即用。因此,具有简单语法的完整程序的示例也可以工作。但我真的很喜欢-n..

编辑:回复@chenyf

raku -e ".say for $*ARGFILES" *.file
Run Code Online (Sandbox Code Playgroud)

同样的错误。有关的:

raku -e ".say for $*ARGFILES.lines" *.file
Run Code Online (Sandbox Code Playgroud)

同样的错误。

raku -e "use IO::Glob; .say for glob('*.file')"
Run Code Online (Sandbox Code Playgroud)

按预期工作!扩展:

raku -e "use IO::Glob; .say for glob('*.file').lines"
Run Code Online (Sandbox Code Playgroud)

对于“IO::Glob”类型的调用者没有这样的方法“lines”

越来越接近——也许对此进行扩展是一个足够好的解决方法。但回到一线荣耀的尝试:

raku -e "use IO::Glob; .say for glob($*ARGFILES)" test.file
Run Code Online (Sandbox Code Playgroud)

无法解析调用者 …

glob command-line-tool command-line-arguments raku

10
推荐指数
1
解决办法
373
查看次数

用于交互式Unix命令的Cocoa包装器

好的,所以我知道你可以使用Objective-C制作一个NSTask来运行命令行工具:

NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/gdb"];
[task launch];
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有办法与交互式命令行工具进行通信gdb.这将涉及使基于用户交互的命令输入(如run,killquitgdb),然后在此基础上输出该信息反应.

unix cocoa objective-c command-line-tool interactive-mode

9
推荐指数
1
解决办法
1352
查看次数

Xcode 4.4:首选项:下载:组件:命令行工具失败,"失败,HTTP状态403:禁止"

当我尝试在新下载的Xcode 4.4安装中安装命令行工具时,有没有人知道我可能需要更改(特定文件的权限;清除Keychain Access项目)以解决问题?

在此输入图像描述

installation command-line-tool xcode4.4

9
推荐指数
1
解决办法
1969
查看次数

如何在Xcode 4.5"命令行工具"项目中设置工作逻辑单元测试目标?

无法为特定方案设置单元测试.这是我正在尝试的:

  • 在Xcode 4.5中,我创建了一个简单的OSX "命令行工具"应用程序项目(Foundation).
    请注意,Xcode 提供自动将单元测试添加到"命令行工具"项目的选项 - 所以请不要建议勾选方框.它不存在: - /

  • 在我的项目中,我创建了一个我想测试的简单示例类; 例如"形状".

  • 我跟着苹果的指示Xcode的单元测试指南用于在项目设置的单元测试:

    • 我在我的项目中添加了一个单元测试目标,并且

    • 我编辑了"测试"方案以在新目标中运行测试.

  • 在测试项目的实现(.m)文件中,我Shape.hsetUp()方法中添加了一个import 和code 来实例化一个形状并将其分配给一个实例变量.

那时,我决定看看是否会构建一些东西,以及默认测试是否仍会运行.但是,当我从菜单中选择Product ... Test时,构建失败并出现以下错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Shape", referenced from:
      objc-class-ref in ExampleTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

解释此错误不是问题.我知道单元测试目标没有链接到包含Shape实现的二进制文件.但是,我还没有(还)了解Xcode单元测试和目标配置.所以:

为了使测试目标链接到命令行工具的结果输出,我需要做什么?我可以链接到单元测试目标的命令行可执行文件吗?Apple的文档看起来特定于常规OSX应用程序(*.app)和iOS应用程序,而这两者都不是.

我有业务逻辑类,我想在命令行工具设置(开始)中开发,所以我想了解我需要做什么才能在"命令行工具"中运行单元测试目标"项目类型. 谢谢!

(PS请注意,我感兴趣,我的运行单元测试命令行-堆栈溢出已经建议对如何做到这一点"相似"的问题-而是运行单元测试一个"命令行工具"类型的项目,而且还来自Xcode内部.)

xcode unit-testing linker-errors command-line-tool xcode4.5

8
推荐指数
1
解决办法
3387
查看次数

命令行无法识别Node-sass

我正在尝试按照CSS-Tricks说明设置node-sass .Node和npm安装正确,node-sass安装也正常.node-sass --output-style compressed -o dist/css src/scss但是,当我去跑步时,我收到一条错误消息

'node-sass'不被识别为内部或外部命令,可操作程序或批处理文件.

我已经做了很多谷歌搜索并直接搜索了Stack Overflow.我的问题不是"节点"没有被识别为命令.我知道节点工作,我可以运行node -v,并npm -v和节点青菜运行后,安装成功npm install --save-dev node-sass(有一个在node_modules一个文件夹),并没有错误出现在命令行.

其他信息:我正在运行Windows 10,并且在尝试使用node-sass之前只是干净地安装了node和npm.

编辑:由于@Bhavik的建议,我用-g卸载并重新安装,它现在正在工作

command-line-tool node.js npm node-sass

8
推荐指数
2
解决办法
2万
查看次数