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函数是程序的实际入口。
推荐阅读
-
在Linux中打开了太多文件(Too many open files)的三种解决方法
-
如何在网易邮箱中聊易信把邮箱的内容保存到易信中
-
在Linux系统中创建新的亚马逊AWS访问密钥的方法
-
使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法
-
FtpClient在创建中文目录文件名中的中文显示乱码解决方法
-
linux系统中InputStream输入流的方法之reset()和mark()命令的注意事项
-
linux系统中 屏蔽storm ui的kill功能的两种方法
-
浅谈C#中的Async和Await的用法详解
-
JavaScript中利用构造器函数模拟类的方法
-
js 将input框中的输入自动转化成半角大写(税号输入框)