我已经阅读了有关塔架和顶峰页面中鸡蛋入口点的文档,但我仍然不太理解.有人能给我解释一下吗?

推荐答案

"入口点"通常是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: ..."

等等它应该假设它是从命令行调用的,解析用户提供的参数,然后...好吧,按命令的目的go 做.

安装docutils软件包是入门点使用的一个很好的例子:它将安装六个有用的命令,用于将Python文档转换为其他格式.

Python相关问答推荐

如何从同一类的多个元素中抓取数据?

如何从不同长度的HTML表格中抓取准确的字段?

ValueRight:参数目标和输出必须具有相同的形状.接收:目标.形状=(无,512),输出.形状=(无,3)

当pip为学校作业(job)安装sourcefender时,我没有收到匹配的分发错误.我已经try 过Python 3.8.10和3.10.11

仅对matplotlib的条标签中的一个条标签应用不同的格式

Plotly:如何更改Heatmap中彩色条的勾选文本

基本链合同的地址是如何计算的?

添加包含中具有任何值的其他列的计数的列

如何使用SubProcess/Shell从Python脚本中调用具有几个带有html标签的参数的Perl脚本?

acme错误-Veritas错误:模块收件箱没有属性linear_util'

连接两个具有不同标题的收件箱

如何在箱形图中添加绘制线的传奇?

用NumPy优化a[i] = a[i-1]*b[i] + c[i]的迭代计算

运输问题分支定界法&

当递归函数的返回值未绑定到变量时,非局部变量不更新:

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

用渐近模计算含符号的矩阵乘法

幂集,其中每个元素可以是正或负""""

为什么常规操作不以其就地对应操作为基础?

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?