1

我有一个从终端运行的 python 工具,我想将它作为 bdist 上传到 Pypi 上,以制作一个随时可用的工具。(就像 Windows 上的 .exe)

在将其上传到 Pypi(服务的测试版本)时,我使用了python -m build创建 .tar.gz 和 .whl 文件的命令。执行pip install MyTool此操作时会将工具作为一个包安装,因此我无法从终端执行它(我的意思是仅通过调用包的名称),我可以通过运行来执行它,python3 path_to_....MyTool/MyTool.py但这不是最终用户应该做的。

目标是:

  • pip install MyTool(安装它)
  • MyTool./MyTool(执行)

我尝试使用该命令python3 -m build --wheel来创建 .whl 文件并将其上传到没有 .tar.gz 文件的新项目,但仍然这样做pip install MyTool只是安装包(我可以将其导入到我的文件中)但我无法从终端执行./MyTool

我包括筛选以帮助解决问题:

.toml 文件
的屏幕setup.cfg 文件的屏幕

如何使 MyTool 成为一个可以使用的 Python 应用程序?

谢谢你的帮助!!

4

1 回答 1

2

我找到了解决方案:

setup.cfg文件缺少options.entry_points

[options.entry_points]
console_scripts = tool = MyTool:main

入口点的语法指定如下:

<name> = [<package>.[<subpackage>.]]<module>[:<object>.<object>]

网址:https ://setuptools.pypa.io/en/latest/userguide/entry_point.html

于 2021-09-23T08:11:18.170 回答