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 flags that allow user's to override the default behaviour when upgrading packages #9095

Open
nlhkabu opened this issue Nov 3, 2020 · 2 comments
Labels
UX: functionality research epic Temporary label to link tickets to #8516 UX User experience related

Comments

@nlhkabu
Copy link
Member

nlhkabu commented Nov 3, 2020

In #9094 I proposed that we change pip's default behaviour to do nothing and show an error if dependency conflicts are detected when upgrading other packages.

This is based on user research recently conducted by the UX team. This research also found that many users would like more control to be able to override this default.

Some example user feedback:

I would say that after doing nothing and explaining to the user why not, offer two options to the user, for the first two options of this list ( basically executing the command with a special flag).

I would prefer using a --force flag which would upgrade tea and water while also showing a warning about coffee.

I think the best strategy is to ask the user explicitly which action to perform. My initial thought was “upgrade coffee automatically to 2.0.0”, but “upgrade” command feels like absolutely safe and shouldn’t do anything even potentially dangerous. If something is going to break up, it is only the user who could be responsible for that, and he should understand it clearly.
...
As a result, I’d like to see a flag specifying pip behaviour. Something like “—latest” to upgrade coffee as well and “—safest” to install nothing. Messages indicating what is going on (and why) are welcome.

I should be able to pick between 1 and 4 with a safe mode flag. It's better for new developers not to break their environment so this should be the default.

I've opened this ticket as a starting point for discussing what additional controls (e.g. flags) we could offer the user in this scenario.

@nlhkabu nlhkabu added UX User experience related UX: functionality research epic Temporary label to link tickets to #8516 labels Nov 3, 2020
@chyzzqo2
Copy link

I would like a flag that allows us to get the old constraints behavior back. That way we can use a constraints file to prevent a package from changing the versions of things we care about.

@uranusjr
Copy link
Member

Could you elaborate what exact feature is currently missing that you need? “Use a constraints file to prevent a package from changing the versions” should still work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UX: functionality research epic Temporary label to link tickets to #8516 UX User experience related
Projects
None yet
Development

No branches or pull requests

3 participants