
Over on python-dev, Neal Becker asked:
On systems where os-level packaging is available (e.g., fedora linux), it is not unusual to want a newer python package installed than available from the vendor. pip install --user can be used for this.
But then there is the danger that these pip installed packages are not maintained.
At least, pip should have the ability to alert the user to potential updates,
pip update
could list which packages need updating, and offer to perform the update. I think this would go a long way to helping with this problem.
I responded:
How? I have exactly this problem with nose. We actually get it bundled (currently at ancient 1.1.2, trying to get to 1.3.4) with a bunch of other open source software from an outside packaging company, and even though I add the --user flag, it still complains that a version is already installed. When I add the --upgrade flag it tries to uninstall the global version.
then in a follow-up reply to Paul Moore's reply:
On Wed, Aug 27, 2014 at 8:24 AM, Paul Moore <p.f.moore@gmail.com> wrote:
Do you mean something like "pip list --outdated"?
I was unaware of that command, as we were stuck at pip 1.2.1. I just updated pip manually to 1.5.6. That is a very helpful command. It would be even better if it understood --user so it could restrict it's view to user-installed stuff.
Also, given that packages can be found in multiple places on a system, for me:
* the OpenSuSE system packages * TWW-provided system-wide packages * our own system-wide packages in /opt/local * my private stuff in ~/.local
it would be great if there was a way for it to tell me where on my system it found outdated package X. The --verbose flag tells me all sorts of other stuff I'm not really interested in, but not the installed location of the outdated package.
Paul also added:
On 27 August 2014 14:46, Skip Montanaro <skip@pobox.com> wrote:
it would be great if there was a way for it to tell me where on my system it found outdated package X. The --verbose flag tells me all sorts of other stuff I'm not really interested in, but not the installed location of the outdated package.
There's also packaged environments like conda. It would be nice if pip could distinguish between conda-managed packages and ones I installed myself.
Really, though, this is what the PEP 376 "INSTALLER" file was intended for. As far as I know, though, it was never implemented (and you'd also need to persuade the Linux vendors, the conda people, etc, to use it as well if it were to be of any practical use).
Agreed about reporting the installed location, though. Specific suggestions like this would be good things to add to the pip issue tracker.
The entire thread is here: https://mail.python.org/pipermail/python-dev/2014-August/136004.html So, think of this as a multi-faceted feature request for pip. :-) Thx, Skip
participants (1)
-
Skip Montanaro