On 25 June 2016 at 03:25, Pradyun Gedam <[email protected]> wrote: > Hello List! > > There is currently a proposal to change the behaviour to pip install to > upgrade a package that is passed even if it is already installed. > > This behaviour change is accompanied with a change in the upgrade strategy - > pip would stop “eagerly” upgrading dependencies and would become more > conservative, upgrading a dependency only when it doesn’t meet lower > constraints of the newer version of a parent. Moreover, the behaviour of pip > install --target would also be changed so that --upgrade no longer affects > it. > > A PEP-style write-up > (https://gist.github.com/pradyunsg/4c9db6a212239fee69b429c96cdc3d73) > documents the reasoning behind this proposed change, what the change is and > some alternate proposals that were rejected in the discussions. > > This is a request for comments on the pull-request implementing this > proposal (https://github.com/pypa/pip/pull/3806) for your views, thoughts > and possible concerns related to it.
Hi Pradyun, Thanks for putting that together. The assertion in the write-up that the proposed behaviour matches that of operating system level package managers doesn't sound right to me: $ sudo dnf install -q python Package python-2.7.11-5.fc24.x86_64 is already installed, skipping. (My system actually has a Python update pending, so the "-q" option is suppressing the output telling me about that, but either way, it doesn't make any local changes unless I use the update or upgrade subcommand or supply the "--best" upgrade strategy option to the install command) As far as I am aware, apt-get install behaves the same way - if you only give a package name, and that package is already installed on the system, it won't do anything, even if a newer version of that component is available, and you need to use the "upgrade" subcommand instead to say "upgrade to the latest available version". Switching pip's "--upgrade" command line option to a non-eager upgrade strategy sounds good to me, but making "install" upgrade the requested component by default when given just a name (rather than a specific file or URL reference) would be very surprising and problematic. Cheers, Nick. -- Nick Coghlan | [email protected] | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
