Hon*_*rek 57 python package setup.py
基本上有两种方法可以将Python控制台脚本安装到我的路径中setup.py:
setup(
...
entry_points = {
'console_scripts': [
'foo = package.module:func',
],
}
)
Run Code Online (Sandbox Code Playgroud)
和
setup(
...
scripts = [
'scripts/myscript.sh'
]
)
Run Code Online (Sandbox Code Playgroud)
有什么区别?我看到第一种方法允许我为我的脚本选择不错的特定名称,但是还有其他差异吗?不同的原始用途,兼容性(setuptools,distutils,......?),用法,......?我很困惑,一个精心设计的回复可以帮助我(也可能还有其他人)正确理解这一切.
小智 38
(真棒)Click包的文档提出了使用入口点而不是脚本的几个原因,包括
__name__给__main__,这可能导致代码被导入两次(如果另一个模块导入你的脚本)Click是一种实现函数的好方法,可以用作entry_pointsbtw.
小智 13
这两种创建命令行可执行文件的方法之间的一个关键区别是,使用该setuptools方法(您的第一个示例),您必须在脚本内部调用一个函数 - 在您的情况下,这是func您的内部module.但是,在distutils方法(您的第二个示例)中,您可以直接调用脚本(允许使用或不使用扩展名列出).
| 归档时间: |
|
| 查看次数: |
16774 次 |
| 最近记录: |