-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Explore converting pip (or parts of it) into a zipped package #10612
Comments
I'm +1 on zipping our vendored libraries. Even when this would require a rework of many parts of our code, this will make Pip lighter, and then, faster. However, I don't like a lot the idea of compressing the |
Note that If all the roadblocks are cleared, the best option would be to bundle the entire pip package as one bundle, since that benefits isolated environment setup the most (the overhead would become one single file copy operation). |
I mean... we can probably exclude certifi from our bundling shenenigans, and... that basically opens up from all the options. :P |
My intention when I made the comment was just to zip our vendored libraries, as you say changing our vendoring mechanism. If we use zip -9, the size of our (current) vendored code goes down from 4.9M to 1.4M. This is quite a lot. I'd assumed we could simply zip whatever we could, leave anything difficult (e.g. certifi) unzipped, and then just add I'm confused by how the "zip everything" option would work. What would the pip wheel contain, and what would the startup code look like in that case? (And while I know we don't support such usage, how would people like pip-tools access the pip internals if we did this? I don't want to gratuitously break them for something this minor). I'm having trouble picturing what this option would look like in practice, and how it would differ from a "standard" zipapp that doesn't even get installed, like virtualenv provides.
We could also do what we do in |
Closing this out, since we now have zipapp discussions happening and the zip-creation-for-running-in-environment problem is resolved. |
Pulled out of #10462
Where would this be useful
Right now, we have at least two cases where this would be useful:
What we could do
There's multiple options:
_internal
stuff.Why should we not do it?
IDK, this sounds like it will have a lot of churn? Complexity? Potential slowdown of wheel-based installs?
The text was updated successfully, but these errors were encountered: