-
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
setuptools dependencies and freeze #4284
Comments
The latter option is preferred, including not installing it by default (which it isn't). It will take until the implementation for PEP 518 support arrives for setuptools to be installed only when declared by a package. |
It's probably not going to be tenable to exclude things like |
@jaraco The official way to install |
@philtay Agreed, that's the ideal. We could do that now, but if setuptools isn't installed, all source installs will break (until PEP 518 arrives). So for the short term, we have to install setuptools by default, to give a reasonable user experience. If you're happy with the consequences, you can of course uninstall setuptools yourself. Equally, we could report setuptools in tl;dr; - It'll work fine once PEP 518 lands. In the meantime, it's a compromise. |
@pfmoore Then the breaking changes to |
@philtay TBH, I agree with you that maybe the setuptools changes should have been deferred. But that's not a pip issue, which is really what I was commenting on here. Could you not simply pin setuptools to a pre-unbundling version? (Sorry if I'm offering uninformed advice here...) |
@pfmoore In fact the problem isn't I appreciate your suggestion. We have a fairly complex build system, lot of steps and moving parts. The "simply pinning down" solution is not going to entirely solve the problem. Other work must be done, unfortunately. Moreover during the (possibly long) period of pinning we're not going to get bug and security fixes, new features, etc. One thing |
@philtay that ( |
@pfmoore It's the same idea expressed by @dstufft in a message above (smarter method for filtering out). The only difference is that it gives to the user the ability to decide what exactly "smart" means. It's not a million-dollar question, I have the answer. It will be implemented as soon as I don't need it anymore, of course. On that day I'll open an issue here on GitHub to let you know so the work can begin and other users will have the opportunity to benefit from this idea....... ;) |
Related: #4256 |
Now that setuptools has gone back to vendoring its dependencies, can this be closed, or at least removed from the 10.0 milestone? |
setuptools
doesn't vendor its dependencies anymore (ref. pypa/setuptools#581 and pypa/setuptools@ff371f1).Unfortunately this affects
pip freeze
and breaks our workflow around it. Below you'll find what happens in a clean environment:Of course those are not my dependencies and I don't want to see them in my
requirements.txt
file.pip
already hidespip
(itself),setuptools
andwheel
packages fromfreeze
. It should do (recursively) the same with the dependencies of these packages. Alternatively we can start to treatsetuptools
as a regular package and show it (with its dependencies) infreeze
. The latter option implies thatsetuptools
should not be automatically installed anymore when installingpip
.The text was updated successfully, but these errors were encountered: