欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的entry_point

程序员文章站 2022-04-15 12:41:21
...

我们在项目中经常会在script里面经常会看到用pkg_resources.run_script或者pkg_resources.load_entry_point来执行命令行,从而启动程序。

它实际是定义了script的一个框架,这样做的好处是将调用和具体实现分离开,只需要指明入口entry就可以了。

例如:

#!D:\develop\Python27\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'pastescript==1.7.5','console_scripts','paster'
__requires__ = 'pastescript==1.7.5'
import sys
from pkg_resources import load_entry_point
 
if __name__ == '__main__':
    sys.exit(
        load_entry_point('pastescript==1.7.5', 'console_scripts', 'paster')()
    )

 

其中load_entry_point('pastescript==1.7.5', 'console_scripts', 'paster'),第一个参数定向到site-packages/pastescript-1.7.5-egg-info/,然后cat site-packages/pastescript-1.7.5-egg-info/entry_points.txt ,里面有两行定义了,这个entry_point的名称和位置。

    [console_scripts]    

    paster=paste.script.command:run

console_scripts就是group名称

paster就是name参数,实际指向paste.script.command模块的run函数

run函数是程序的实际入口。

相关标签: entry_point