小编典典

解释 Python 入口点?

all

我已经阅读了 Pylons 和 Peak 页面上关于 egg 入口点的文档,但我仍然不太明白。有人可以向我解释吗?


阅读 59

收藏
2022-05-29

共1个答案

小编典典

“入口点”通常是 Python
包的开发人员或用户可能想要使用的函数(或其他可调用的类似函数的对象),尽管也可以提供不可调用的对象作为入口点(同样正确)在评论中指出!)。

最流行的入口点是console_scripts入口点,它指向您希望作为命令行工具提供给任何安装您的包的​​人的功能。这进入你的setup.py脚本,如:

entry_points={
    'console_scripts': [
        'cursive = cursive.tools.cmd:cursive_command',
    ],
},

我有一个我刚刚部署的名为 的包cursive.tools,我希望它能够提供一个可以从命令行运行的“草书”命令,例如:

$ cursive --help
usage: cursive ...

这样做的方法是定义一个函数,比如cursive_command文件cursive/tools/cmd.py中的一个函数,如下所示:

def cursive_command():
    args = sys.argv[1:]
    if len(args) < 1:
        print "usage: ..."

等等;它应该假设它是从命令行调用的,解析用户提供的参数,并且......好吧,做任何命令被设计做的事情。

为入口点使用的一个很好的例子安装这个docutils包:它将安装一些类似六个有用的命令,用于将
Python 文档转换为其他格式。

2022-05-29