You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Installing the attached package (actually via a private devpi repository) using pip works on the first attempt but fails on the second. This is actually a bug in wheel that we misattributed to pip. However, as only pip is called I think it inherits this bug and it should be tracked here.
What I've run:
The first installation (from local file as well as from devpi repository) works fine:
~$ pip install issue-env-markers-wheel-17.10.tar.gz
Ignoring non-existing-package: markers 'platform_system == "Windows"' don't match your environment
Building wheels for collected packages: issue-env-markers-wheel
Running setup.py bdist_wheel for issue-env-markers-wheel ... done
Stored in directory: /home/torsten.landschoff/.cache/pip/wheels/27/f4/87/4d28e50c1e0bf504953031a4390c64c797afb9e53b18e6ec76
Successfully built issue-env-markers-wheel
Installing collected packages: issue-env-markers-wheel
Successfully installed issue-env-markers-wheel-17.10
But pip will automatically use the wheel that it generated itself (using python setup.py bdist_wheel) and this will fail:
~$ pip install -I ~/.cache/pip/wheels/27/f4/87/4d28e50c1e0bf504953031a4390c64c797afb9e53b18e6ec76/issue_env_markers_wheel-17.10-cp27-none-any.whl
Collecting non-existing-package (from issue-env-markers-wheel==17.10)
Could not find a version that satisfies the requirement non-existing-package (from issue-env-markers-wheel==17.10) (from versions: )
No matching distribution found for non-existing-package (from issue-env-markers-wheel==17.10)
The mean thing here is that it appears that pip does something wrong when caching the builds. We mistraced this at first, dropping the pip cache on our build machines as it seemed to repair this.
The next build of course failed again after one build reintroduced the package into the wheel cache.
Here is the example package I used for reproducing:
One more note: I was just told that the time spent for getting to the root of this was also stretched by the fact that the guy who created the affected package did not have the wheel package installed.
So it worked on his machine, as pip does not build a wheel if the wheel package is missing. Our build automation uses wheels though as some of our packages take the better part of an hour to build and the manylinux approach does not work for us.