-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New resolver mangles development versions #9446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This seems to be a setuptools bug. I can reproduce the version mangling with the following:
BUT this only happens with |
This makes me think, maybe pip should add checks to ensure tools are following PEP 517 rules? PEP 517 explicitly prohibits this kind of issues:
The error is (fortunately) caught during resolution in this case because |
hey - any workaround for this right now? I will have to lower the pip version I'm using which might be involved since I am running tests against openstack projects that I'm altering from the outside. every change is another sed operation basically. |
One workaround would be to build the wheels separately and install from those instead. This avoids the problematic # This builds wheels into a subdirectory ./wheels
pip wheel --no-deps -w ./wheels \
git+https://github.com/sqlalchemy/sqlalchemy.git@master#egg=SQLAlchemy \
git+https://github.com/sqlalchemy/alembic.git@master#egg=alembic
# Install the built wheels.
pip install ./wheels/*.whl |
ultimately this has to all run from a tox.ini file and I think years ago I might have been doing it more that way, actually forcing pip to only install from a local cache (which meant I had to reinvent the whole thing for hundreds of openstack dependencies) then when I could put git URLs in requirements files I was able to simplify things...so...im going to see if I can force the pip version down first. |
Waiting for pypa/pip#9446 to be resolved we will pin pip to 19.3.1 for now this still might not work because it might need newer virtualenv and tox installations on containers to work. it's very hard to follow which tool does what under what conditions.
For a quick fix you can change I submitted a PR to properly fix this here: pypa/setuptools#2533 |
Sadly that pr was rolled back. This is still an issue in the 21.1.x version of pip |
pypa/setuptools#2529 contains more information. I'm going to close this issue since the issue is in setuptools, and there is nothing pip can do here. |
What did you want to do?
Install two dev releases from VCS:
Note that pip thinks the version ends in
dev0dev
instead ofdev0
, which causes resolution to fail due to the version becoming aLegacyVersion
.When installed separately, pip has no issues:
Installing both together works with the old resolver:
Additional information
This I bisected this to determine that this issue is present in all commits where the new resolver is available.
Originally reported here: https://twitter.com/zzzeek/status/1349138336242413568
The text was updated successfully, but these errors were encountered: