Skip to content
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

Closed
wants to merge 10 commits into from

Conversation

emmatyping
Copy link
Collaborator

@emmatyping emmatyping commented May 13, 2018

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 :)

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...
@emmatyping emmatyping force-pushed the eggsupport branch 3 times, most recently from 9d2b5c8 to 36b036b Compare May 13, 2018 06:58
@emmatyping
Copy link
Collaborator Author

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.

@emmatyping
Copy link
Collaborator Author

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.

@emmatyping
Copy link
Collaborator Author

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.

@emmatyping emmatyping closed this May 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant