-
Notifications
You must be signed in to change notification settings - Fork 2
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 'no-pip-install' recipe #19
base: main
Are you sure you want to change the base?
Conversation
Does this also affect users loading our environment and doing pip |
It would, yes, since the PEP was meant to help stop issues with system python installations. I remember reading the discussions around this and in the end the reasoning was that users can pip install something which goes into I think any 'fix' for this would involve patching pip in some way, to skip the check if
Skipping would mean modifying But then if somebody does So in addition to that Patching pip like this gives me a feeling like... pulling hair out of a drain, but I can add a simple test case to check for this behaviour and we can pin TBH, even though it's a small change, I'm not sure if this kind of patching ends up being worse than the risk of something accidentally being installed into the environment and breaking it 😟 |
Yeah, I don't think we should go as far as patching pip; that's going to be a fair bit of work. I just wanted to be understand before we decide either way on using But it does mean I don't really know what I prefer. For preventing us from accidentally pip-installing into the environment, I think it's a straightforward win. For users, I tend to think that doing a user install of a package is probably better, even with the risk that it later breaks, than creating & managing their own environment (as this is something that a lot of our users aren't familiar with). But I don't know how many users it would affect. 🤷 |
Slight abomination of a 'package'.
When installed it adds an
EXTERNALLY-MANAGED
(PEP 668) file to the python stdlib directory, preventing directpip install
commands into the environment.Behaviour is:
It'll prevent (well, warn, since you can force the install anyway) us from pip installing things into the environment accidentally, and could help with the occasional... odd... packages which internally run pip install to 'help' simplify their use/setup.
My idea is to include it in the main cycle environments, for everything else it's up to whoever sets it up to decide.