-
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
Add a "Upgrade all local installed packages" #313
Conversation
This doesn't look to bad, although I have to admit I'm not certain how to handle editable requirements gracefully. Should they really be considered when upgrading? What if an editable requirement is fixed to a specific commit? Other than that this looks not too bad, I wouldn't mind if the manual parsing of the vcs URL could be handle a bit nicer, there might be code that does that already -- probably in the freeze command. |
+1 on this feature, what is holding things up? |
Usually you'll manage what versions you want for your project (and the associated virtualenv) for either of those case, we have upgrade solutions. if managed via requirements.txt: if managed via setup.py install_requires (in a local project in develop/editable mode) the only reason I see to move forward with this feature, is if we feel like we need to support upgrading an "undefined" virtualenv (or upgrading the global system packages, which sounds scary) |
For the professional developer a global system package update may sound scary. For a casual python user, pip is just yet another package manager like synaptic. Meaning over the last year, a user installed several python tools via pip that he uses, and now he just thinks its time to get the latest and greatest, but he does not know nor care what the exact list of tools is he installed and wants to upgrade. As an example, take this set: I understand that a feature that completely changes an env can be harmful, I just try to explain the use case and the intended audience I see (though others might have different valid reasons to want such a feature). |
I looked at the associated issue. They mentioned "pip upgrade" would be an alias to "pip install -U" for upgrading specific packages, as best I can tell this pull doesn't do that. it seems it has "pip upgrade" being for upgrading what you specify plus all locally installed pkgs. also, it doesn't limit the options shown. It inherits everything from "install", including "--upgrade" I think more thought would need to be put into what options make sense for this. |
@qwcode would you accept a "pip updates" which would list all packages with newer versions found? I feel that this would both allow a casual pythonist to see which packages are outdated, similar to synaptic, and for professional developers to ensure that they have access to the newest packages, allowing them to test as necessary. It would be great to stop relatively complicated workarounds such as http://stackoverflow.com/questions/2720014/upgrading-all-packages-with-pip A second command could be "pip updates --install" which would upgrade all packages. Let me know your thoughts, I would love to make it easier for people to maintain current versions of packages. |
@wcdolphin , there's a "pip list" command soon to be merged that has I'm open to an implementation of |
+1 |
Upgrading only local packages is important, --system-site-packages shouldn’t be part of the upgrade. Typically system site packages include dependencies upon "C" libraries that can't be upgraded easily. |
Hmmm, just from reading various comments here, I feel like upgrading all packages is the trickier part that needs a little thought, as how do you handle editables, system site packages, user packages, etc. Does a PR for |
How does that differ from pip install -U ? I'm really hoping we can get some equivalent of gem/npm/bower install That and at a systems level, the fact that dependencies are duplicated for
|
Because it's more intuitive and matches other tools, although now that I look at
What would this do in a nutshell? E.g.: what would a
I think @dstufft would say that you can either omit the |
Accidentally closed this, reopening. Sorry! |
Hello! As part of an effort to ease the contribution process and adopt a more standard workflow pip has switched to doing development on the If you do nothing, this Pull Request will be automatically migrated by @BrownTruck for you. If you would like to retain control over this pull request then you should resubmit it against the If you choose to migrate this Pull Request yourself, here is an example message that you can copy and paste:
If this pull request is no longer needed, please feel free to close it. |
This Pull Request has been automatically migrated to #3744 to reparent it to the |
see also: #59