我是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 功能)运行。它不会安装指定的版本,假设该版本是 已经 安装在您的系统上。它的目的是避免在脚本运行并加载依赖项时加载不正确的,不兼容的资源。