setup.py将顶级模块放在子目录中



我有一个项目看起来像这样:

tool.py
utils/
tool2.py
tool3.py

我想将这些绑定到一个分发中,这样我就可以从命令行调用tooltool2tool3。但到目前为止,我还不知道如何在不创建新的utilspython模块的情况下使setup.py包含utils/下的脚本。基本上,我想在setup.cfg中做到这一点,而不改变我的目录布局:

[options.entry_points]
console_scripts =
tool = tool:main
tool2 = tool2:main
tool3 = tool3:main

如果我将我的项目目录压平,使所有3个都在根目录中,这是可行的,但可能有很多实用工具我不想在根目录上滥发信息。但是,如果我把它们放在utils下,setup.py似乎想把它们创建为utils模块下的子模块。

一个潜在的解决方法是:

[options]
scripts =
tool.py
utils/tool2.py
utils/tool3.py

但你必须始终键入.py后缀才能从命令行调用,而我更喜欢将其关闭;命令liny";。

我想做的事情可能吗?

我通过做一些类似的事情来解决这个问题:

[options]
scripts =
dist_scripts/tool
dist_scripts/tool2
dist_scripts/tool3

其中dist_scripts/tooltool.py的相对软链接等。似乎工作正常。

相关内容

  • 没有找到相关文章

最新更新