From the distutils docs:
Dependencies on other Python modules and packages can be specified by supplying the
requires
keyword argument tosetup()
.
For example the python-gflags distribution uses distutils
and specifies a dependency on six
:
https://github.com/google/python-gflags/blob/master/setup.py#L43
Yet, unlike setuptools' install_requires
deps, installing python-gflags with pip does not actually install the dependency six.
The question is, what does distutils
and/or pip
actually do with this requires
value, if anything? I can see it gets stored in the distribution metadata (you can find the requirement specification as plaintext in the file site-packages/python_gflags-3.1.2.dist-info/METADATA
after installation) but that alone seems useless without a consumer.
Going through all usages of requires
in distutils
I didn't find any meaningful usage except printing this info when running python setup.py --requires
. On this setup.py
example:
from distutils.core import setup
setup(name='foo', requires=['bar', 'baz'])
It will show:
bar
baz
Source:
elif opt in ('classifiers', 'provides', 'requires',
'obsoletes'):
print('\n'.join(value))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With