pip 18.1 enabled PEP508 urls in setup.py requirements, as long as the parent pacage doesn't come from PyPI.
This is not apparently supported in the latest pipenv
In a pipenv, latest version, pip 18.1. I install a local package in dev mode. this package has a url-requirement in setup.py
../mypacage/setup.py has a line:
install_requires=[
# url requirement for mypackage2
'mypackage2@git+https://github.com/foo/mypackage2.git',
pipenv install -e "../mypackage"
I expect dependency resolution to work, with mypackage2 being fetched from githum.
In fact, "pip install -e "../mypackage" works.
pipenv install -e "../mypakacage"
results in the following error:
pipenv.patched.notpip._internal.exceptions.InstallationError: Direct url requirement (like mypapackage2@ git+https://github.com/foo/mypajckage2.git) are not allowed for dependencies
This is in fact a similar error that pip version 18.0 used to produce.
In fact we still have pip 18 vendored so that we can do dependency resolution so that鈥檚 probably why. Would love to upgrade that, but triaging other issues which make this slightly lower priority at the moment. Hopefully will be able to get this out next release.
A possible workaround is to convert the line internally (e.g. by requirementslib) before passing it to notpip. I agree this is low priority though.
I had been eagerly awaiting 18.1 release to be able to use pipenv properly for deploying a project based on private repos of interdependent packages. I guess I'll have to wait a bit.
Pip 18.1 is now vendored and included in pipenv and will be in the next release.
Sorry for the trouble!
Most helpful comment
Pip 18.1 is now vendored and included in pipenv and will be in the next release.
Sorry for the trouble!