On 18 July 2013 16:45, Paul Moore <p.f.moore@gmail.com> wrote:
On 18 July 2013 02:03, Donald Stufft <donald@stufft.io> wrote:
it's simple to upgrade the pip if the user requires a newer version of pip using ``pip install --upgrade pip`
Please don't gloss over the potential issues with upgrading in the face of in-use exe wrappers. We have a design for a solution, but as yet no working code. I expect to work on this, but my time is limited and I'm not at all sure there won't be issues still to resolve. (Obviously, anyone else is welcome to help, but it's a "windows issue", so I don't know how much interest there will be from non-Windows developers).
Prior to the setuptools move away from 2to3, my standard response to anyone reporting issues with in-place upgrades of setuptools or pip (certainly on Windows, and in general anywhere else too) was "well, don't do that - remove and reinstall manually". Things are better now, but not yet perfect and I don't believe that there is a consensus that this is acceptable for a bundled pip.
Making in-place upgrades using "pip install --upgrade pip" reliable on Windows is definitely the preferred solution, but it isn't a show stopper if it isn't ready for 3.4. Requiring that in-place upgrades be run as "python -m pip install --upgrade pip" would be acceptable, so long as the direct invocation ("pip install --upgrade pip") was detected and a clear error thrown suggesting the other command (this would be mildly annoying, but it's still a substantial improvement over the status quo). Something like: "Due to an unfortunate limitation of pip on Windows, direct upgrades are not supported. Please run 'python -m pip install --upgrade pip' to work around the problem." Shipping an msi installer for pip (perhaps bundling with setuptools) would also be an acceptable alternative. Bundling both with the "Python launcher for Windows" installer is definitely something we should consider for older versions (rather than updating the CPython installer). Either way, Windows users are used to downloading and running installers to get Python upgrades :) Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia