Ada*_*tan 17 python scripting setuptools setup.py
Python的setuptool有两种方法可以将命令行脚本添加到Python包中:script和entry_point.
本教程概述了以下方法:
scripts将Python脚本(funniest-joke)添加到包树,并将其路径添加到setup.py:
setup(
...
scripts=['bin/funniest-joke'],
...
)
Run Code Online (Sandbox Code Playgroud)
将Python脚本(funniest-joke)添加到包树.添加一个main()函数,并添加command_line.py运行最有趣的子模块main():
command_line.py:import funniest
def main():
print funniest.joke()
Run Code Online (Sandbox Code Playgroud)
setup.pysetup(
...
entry_points = {
'console_scripts': ['funniest-joke=funniest.command_line:main'],
}
...
)
Run Code Online (Sandbox Code Playgroud)
每种方法有哪些优缺点?
小智 6
我不知道为什么在寻找未回答的问题时,SO给我看这个老问题作为最佳结果......但是因为他们确实...这里是文档的答案.
基本上脚本是旧方法,它要求您拥有独立的可执行脚本文件,并且入口点方法允许您定义在给出命令时要运行的功能.这样,您可以在同一文件/模块中拥有多个函数,然后具有"入口点",当用户键入其中一个console_scripts命令时,将会调用这些入口点.
尽管setup()支持用于指向要安装的预制脚本的scripts关键字,但实现跨平台兼容性的推荐方法是使用console_scripts入口点(参见下文).
来自https://packaging.python.org/tutorials/distributing-packages/#scripts(旧来源)
| 归档时间: |
|
| 查看次数: |
1864 次 |
| 最近记录: |