Specify extras_require with pip install -e
How can one manage to install extras_requires with pip when installing from a git repository ?
I know that you can do pip install project[extra]
when the project is on pypi.
And you have to do pip install -e git+https://github.com/user/project.git#egg=project
for a git repo but I didn't manage to find how to link these two options together.
Solution 1:
This should work, per example #6
For remote repos:
pip install -e git+https://github.com/user/project.git#egg=project[extra]
And this for local ones (thanks to @Kurt-Bourbaki):
pip install -e .[extra]
Solution 2:
Important to notice: you should not have whitespaces around or within brackets. I.e. this will work: -e ".[extra1,extra2]"
but this won't: -e ". [extra1, extra2]"
- and even as a row in requirements.txt file, where it is not so obvious. The worst thing about it is that when you have whitespace, extras are just silently ignored.
Solution 3:
This also works when installing from a whl
file so, for example, you can do:
pip install path/to/myapp-0.0.1-py3-none-any.whl[extra1]
This is very far from clear from the docs, and not particularly intuitive.