我是python的新手。
任何人都可以回答这个问题 __requires__
是指以下代码?
他们为什么要放 __requires__ = 'flower==0.4.0'
在文件的开头?
#!/srv/virtualenvs/zeusenv/bin/python
__requires__ = 'flower==0.4.0'
import sys
from pkg_resources import load_entry_point
sys.exit(
load_entry_point('flower==0.4.0', 'console_scripts', 'flower')()
)
该 __requires__
line是生成的控制台脚本的一部分。它对Python本身没有意义,只有 setuptools
library使用此信息。
控制台脚本是python包元数据中定义的python脚本 setuptools
安装包装脚本文件,让您将它们作为命令行脚本运行。该 flower
你的virtualenv中安装的文件就是这样一个脚本,由 flower
包 setup.py
文件。
该 pkg_resources
在包装器脚本中导入的模块检查值 __requires__
在主脚本中,以确保库的正确版本可用并在之前加载 load_entry_point
功能(或任何其他功能) pkg_resources
功能)运行。它不会安装指定的版本,假设该版本是 已经 安装在您的系统上。它的目的是避免在脚本运行并加载依赖项时加载不正确的,不兼容的资源。