可以通过向
requires
提供setup()
关键字参数来指定对其他Python模块和软件包的依赖性。
例如python-gflags发行版使用distutils
并指定对six
的依赖关系:
https://github.com/google/python-gflags/blob/master/setup.py#L43
但是,与setuptools的install_requires
deps不同,使用pip安装python-gflags实际上不会安装依赖项six。
问题是, distutils
和/或pip
实际上使用此requires
值是什么?我可以看到它已存储在分发元数据中(安装后,您可以在文件site-packages/python_gflags-3.1.2.dist-info/METADATA
中以纯文本的形式找到需求规范),但是如果没有使用者,仅此一项就显得毫无用处。
答案 0 :(得分:4)
遍历requires
中distutils
的所有用法,除了运行python setup.py --requires
时打印此信息外,我没有发现任何有意义的用法。在此setup.py
示例中:
from distutils.core import setup
setup(name='foo', requires=['bar', 'baz'])
它将显示:
bar
baz
elif opt in ('classifiers', 'provides', 'requires',
'obsoletes'):
print('\n'.join(value))