-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Add support for setuptools eggs with PEP 561 searching #5026
Conversation
Setuptools installs packages differently from wheels or normal distutils, using "eggs". Eggs have three main formats that differ from the normal method: editable, compressed, and uncompressed. This change adds support for editable and uncompressed egg installs. There is also a bug fix for some Linuxes (e.g. Ubuntu) listing nonexistent package directories...
9d2b5c8
to
36b036b
Compare
Well, I am flummoxed why this is failing, clearly the package is installed (the type information is picked up), but pip cannot uninstall it? Seems like a pip bug (I can repro locally too). I'll poke at it tomorrow. |
Okay well, I've been told that expecting pip to deal well with eggs is not going to happen. I'm not sure how well I am going to be able to test this if that is the case. |
Based on more discussion with the packaging folks, I am first going to re-design how the pep561 tests are run, which will hopefully work around this issue. Instead of interacting with one site-packages, I will create a virtualenv for each test. This also allows me to parrallelize the tests, hopefully making them run a bit faster. |
Setuptools installs packages differently from wheels or normal
distutils, using "eggs". Eggs have three main formats that differ from the
normal method: editable, compressed, and uncompressed. This change adds
support for editable and uncompressed egg installs.
Before reviewing I highly recommend reading https://github.com/pypa/setuptools/blob/master/docs/formats.txt which describes the egg format.
There is also a work around for the fact that Ubuntu (and I believe all Debian based Linuxes) list non-existent site-package directories...
This fixes much of #5007, I will work on compressed egg installs on the flight to Cleveland :)