I have package "A" with a setup.py and an extras_requires line like:
extras_require = {
'ssh': ['paramiko'],
},
And a package "B" that depends on util:
install_requires = ['A[ssh]']
If I run python setup.py install
on package B, which uses setuptools.command.easy_install
under the hood, the extras_requires
is correctly resolved, and paramiko is installed.
However, if I run pip /path/to/B
or pip hxxp://.../b-version.tar.gz
, package A is installed, but paramiko is not.
Because pip "installs from source", I'm not quite sure why this isn't working. It should be invoking the setup.py of B, then resolving & installing dependencies of both B and A.
Is this possible with pip?
pip install -U pip
and thenpip install ".[test]"
should install namedextra_require
section – Sluiter