如何打包命令行Python脚本

Zac*_*ach 29 python command-line packaging

我已经创建了一个旨在从命令行使用的python脚本.我该如何包装呢?这是我的第一个python包,我已经阅读了一些关于setuptools的内容,但我仍然不确定最好的方法.


我最终使用setup.py,其中包含以下关键配置:

setup(
....
    entry_points="""
[console_scripts]
mycommand = mypackage.mymodule:main
""",
....
)
Run Code Online (Sandbox Code Playgroud)

这是上下文中的一个很好的例子.

Ale*_*eau 5

与其使用 setuptools 非标准的处理方式,不如直接依赖distutilssetup 的函数,使用scripts参数,如下所述:http : //docs.python.org/distutils/setupscript.html#installing-scripts

from distutils import setup
setup(
    ...,
    scripts=['path/to/your/script',],
    ...
)
Run Code Online (Sandbox Code Playgroud)

它允许您保持兼容 a) 与所有 python 版本和 b) 不必依赖 setuptools 作为外部依赖项。


Ale*_*lli 4

@Zach,考虑到您在对 @soulmerge 的回答的评论中的澄清,看起来您需要的是按照有关 distutils 的说明编写 setup.py ——这里特别是您在 pypi 上注册的方式,以及如何在此处注册注册后上传到 pypi - 并且可能(如果您需要 distutils 自己提供的一些额外功能)添加 setuptools,其中是通过此处的easy_install说明的一部分。