我已经阅读了 Pylons 和 Peak 页面上关于 egg 入口点的文档,但我仍然不太明白。谁能给我解释一下?
最佳答案
“入口点”通常是 Python 包的开发人员或用户可能想要使用的函数(或其他可调用的类似函数的对象),但也可以提供不可调用的对象作为入口点(正如评论中正确指出的那样!)。
最流行的入口点是 console_scripts
入口点,它指向您希望作为命令行工具提供给安装包的人使用的函数。这进入您的 setup.py
脚本,如:
entry_points={
'console_scripts': [
'cursive = cursive.tools.cmd:cursive_command',
],
},
我刚刚部署了一个名为 cursive.tools
的包,我希望它能够提供一个“草书”命令,以便有人可以从命令行运行,例如:
$ cursive --help
usage: cursive ...
要做到这一点的方法是定义一个函数,比如文件 cursive/tools/cmd.py
中的 cursive_command
函数,如下所示:
def cursive_command():
args = sys.argv[1:]
if len(args) < 1:
print "usage: ..."
等等;它应该假设它是从命令行调用的,解析用户提供的参数,然后......好吧,做任何命令被设计做的事情。
安装docutils
一个很好的入口点使用示例的包:它将安装一些类似六个有用的命令,用于将 Python 文档转换为其他格式。
https://stackoverflow.com/questions/774824/