使用自己的名称在cmd中运行python包

发布于 2025-01-10 09:38:42 字数 228 浏览 0 评论 0原文

我尝试学习和发布Python打包。我可以使用 python module.module 运行我的包,但我希望我的包可以直接使用自己的名称在 cmd/bash 中运行。例如

youtube-dl <arguments>

或者

httpie <arguments>

我怎样才能像这样做我的包裹?

I try to learn and publish python packageing. I can run my package with python module.module but I want to my package can run in cmd/bash directly with own name. For example

youtube-dl <arguments>

or

httpie <arguments>

How can I do my package like this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸 2025-01-17 09:38:43

就像 这个关于打包到 PYPI 的 Python 官方文档 解释的那样,您可以为此使用构建包。

为此,您确实需要一些设置。该文档将为您提供基本的项目结构设置。然后将以下行添加到您的 setup.pysetup.cfg 文件中。我将其格式化为文件的 setup.py 版本,因为我更喜欢该选项。

entry_points = {
    'console_scripts': ['YOUR_CLI_NAME=YOUR_SRC_FILE:YOUR_MAIN_FUNCTION']
},

上面的代码将配置您的程序在命令行中运行 YOUR_CLI_NAME 时运行。

您只需将PIP的程序打包并安装即可。

python -m pip install --upgrade build

python -m build

这将创建一个 dist 目录并构建您的安装文件。您可以使用安装它

pip install your_wheel_file.whl

,或者您也可以上传到 PYPI 存档。

我希望这对您有所帮助,请参阅我上面链接的文档以获取更多信息。一切都在里面!

Like this Python official doc about packaging to PYPI explains, you can use the build package for this.

For this you do need some setup. The documentation will give you a basic project structure setup. Then add the following line to your setup.py or setup.cfg file. I formatted it for the setup.py version of the file as i prefer that option.

entry_points = {
    'console_scripts': ['YOUR_CLI_NAME=YOUR_SRC_FILE:YOUR_MAIN_FUNCTION']
},

The above code will configure your program to work when running YOUR_CLI_NAME in the command line.

You only need to package the program for PIP and install it.

python -m pip install --upgrade build

python -m build

This will create a dist directory and build your install files. You can install it using

pip install your_wheel_file.whl

Optionally you can also upload to the PYPI archive.

I hope this helps you, please refer to the documentation i linked above for any further information. It's all in there!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文