赞成和反对';脚本';与';入口点';在Python命令行脚本中
Python有两种向Python包添加命令行脚本的方法:赞成和反对';脚本';与';入口点';在Python命令行脚本中,python,scripting,setuptools,setup.py,Python,Scripting,Setuptools,Setup.py,Python有两种向Python包添加命令行脚本的方法:script和entry\u point 概述了这些方法: 脚本 将Python脚本(最有趣的笑话)添加到包树中,并将其路径添加到setup.py: setup( ... scripts=['bin/funniest-joke'], ... ) 入口点: 将Python脚本(最有趣的笑话)添加到包树中。向它添加一个main()函数,并添加运行funniest的main()的命令行.py子模块: 命令行.py: se
script
和entry\u point
概述了这些方法:
脚本
将Python脚本(最有趣的笑话
)添加到包树中,并将其路径添加到setup.py
:
setup(
...
scripts=['bin/funniest-joke'],
...
)
入口点:
将Python脚本(最有趣的笑话
)添加到包树中。向它添加一个main()
函数,并添加运行funniest的main()的命令行.py
子模块:
命令行.py
:
setup.py
每种方法的优缺点是什么?基本上,脚本是一种旧方法,它要求您拥有一个独立的可执行脚本文件,而入口点方法允许您定义在发出命令时要运行的函数。通过这种方式,您可以在同一文件/模块中拥有多个功能,然后拥有“入口点”,当用户在其中一个console\u脚本
命令中键入时,将调用该入口点
尽管setup()支持脚本关键字来指向要安装的预制脚本,但实现跨平台兼容性的推荐方法是使用console_脚本入口点(见下文)
From()的可能重复项
import funniest
def main():
print funniest.joke()
setup(
...
entry_points = {
'console_scripts': ['funniest-joke=funniest.command_line:main'],
}
...
)