[Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement? (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Thu Sep 26 06:30:18 CEST 2013
- Previous message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Next message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 26 September 2013 09:08, Barry Warsaw <barry at python.org> wrote:
On Sep 26, 2013, at 09:01 AM, Nick Coghlan wrote:
Would a leading underscore in the module name make you more comfortable with the idea? It's really intended mostly as a hidden implementation detail of the installers and pyvenv anyway, so calling it "ensurepip" would help make that explicit while still letting people invoke it directly if absolutely necessary. If it was also undocumented, and we can guarantee that it will have no impact outside of the module itself, then maybe. I'm not sure it would be enough for me to accept it if I were the RM, but I'm not (thankfully. :). I still think it's optimistic to pin any hopes on its widespread availability in future 2.7 point releases on people's actual systems.
The recommended user experience for 2.7 users on Windows and Mac OS X will be "Install the latest Python 2.7 from python.org". This feature is not aimed at existing users at all. For Python 2.7, the benefits are aimed almost entirely at beginners installing Python for the first time, regardless of platform. There's a side effect for existing users, where for Windows and Mac OS X users, the pip bootstrapping instructions become "install the latest maintenance release" rather than downloading and running the bootstrap script from pip-installer.org.
The presence or absence of _ensurepip should be completely irrelevant to end users, as it will be there in 2.7 solely to make the new feature of the installer work.
Your alternative proposal is to instead come up with a new mechanism to support the feature, specifically for 2.7. That's increasing the chance of breakage, not reducing it, because the _ensurepip tests would no longer be executed by the Python 2.7 buildbots.
That said, there are changes that I think are definitely worth making due to the concerns you raise:
- the module name should be "_ensurepip" in all versions
- the PEP should explicitly state that the "don't remove _ensurepip and it's wheel files" caveat for redistributors applies only in 3.4+ (where removing it will break pyvenv)
The benefits are most obvious in the case of 2.7, so both Donald and I are also fine with skipping making any changes to Python 3.3. The kind of environment that could make it difficult to upgrade from Python 3.3. to 3.4 is unlikely to condone the installation and use of pip anyway.
There is one other change which is potentially reasonable, and that's changing the default state of the "Install pip (the default Python package management utility)?" checkbox. I believe it should be checked by default in all versions, but if Benjamin decides that it should be unchecked by default in 2.7, I'd be willing to go along with that.
Regards, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Next message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]