python - 解释 Python 入口点?

我已经阅读了 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/

相关文章:

python - 如何搜索和替换文件中的文本?

linux - 如何清空 ("truncate")Linux上已经存在并以某种方式受到保护的文件?

android - 找不到构建工具修订版 23.0.1

python - 何时以及为什么应该使用命名元组而不是字典?

python - "this"模块的源代码是做什么的?

linux - 如何将多行输出连接到一行?

c - Linux 中多线程的信号处理

linux - 如何在文件中搜索多行模式?

python - 使用 setup.py 包含非 Python 文件

linux - 查找 -exec cmd {} + vs | xargs