distutils如何处理“需要”元数据?

wim*_*wim 8 python distutils pip

distutils文档

可以通过将requires关键字参数提供给来指定对其他Python模块和软件包的依赖关系setup()

例如,python-gflags发行版使用distutils并指定了对的依赖six

https://github.com/google/python-gflags/blob/master/setup.py#L43

但是,与setuptools的install_requiresdeps 不同,使用pip安装python-gflags实际上不会安装依赖项6

问题是,如果有的话,这个什么distutils和/或pip实际上要做requires什么?我可以看到它存储在分发元数据中(安装后,您可以在文件中以纯文本形式找到需求规范site-packages/python_gflags-3.1.2.dist-info/METADATA),但是如果没有使用者,那似乎没什么用。

san*_*ash 4

浏览了requiresin的所有用法distutils,除了在运行时打印此信息之外,我没有发现任何有意义的用法python setup.py --requires。在这个setup.py例子中:

from distutils.core import setup

setup(name='foo', requires=['bar', 'baz'])
Run Code Online (Sandbox Code Playgroud)

它将显示:

bar
baz
Run Code Online (Sandbox Code Playgroud)

来源:

elif opt in ('classifiers', 'provides', 'requires',
             'obsoletes'):
    print('\n'.join(value))
Run Code Online (Sandbox Code Playgroud)