Title: PEP 453: Windows installer integration
Type: enhancement Stage: needs patch
Components: Windows Versions: Python 3.4
Status: closed Resolution: fixed
Dependencies: 19406 Superseder:
Assigned To: loewis Nosy List: larry, loewis, ncoghlan, ned.deily, python-dev
Priority: release blocker Keywords:

Created on 2013-11-11 10:33 by ncoghlan, last changed 2013-11-22 10:55 by ncoghlan. This issue is now closed.

Messages (10)
msg202610 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-11-11 10:33
Part of the PEP 453 implementation as tracked in issue 19347.

This issue covers the Windows installer updates:

* new option to choose whether or not to invoke "python -m ensurepip --upgrade" on the just installed Python

* also add the result of calling 'sysconfig.get_path("scripts")' to PATH when PATH modification is enabled in the installer
msg202629 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2013-11-11 14:49
IIUC, the current implementation strategy is to check the wheels into source control. If so, what's to be done in the installer (except for making sure that the wheels get bundled and installed into the msi, which it should do by default?)
msg202632 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2013-11-11 16:29
I missed the original message. I'll try to come up with a patch.
msg202826 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2013-11-14 11:13
I'm currently blocked on a discrepancy of this request and PEP 453.

You are asking me to run "ensurepip --upgrade", whereas the PEP asks for an option to install the bundled pip (i.e. a mere ensurepip). Which of these should be done?
msg202830 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-11-14 11:52
After a CPython installation with the option checked, the installed pip
should be at least as recent as the bundled one:

You're right the prompt may be better as something like "Install/upgrade
pip?", since a previously installed pip may be upgraded when installing a
CPython maintenance release.
msg203394 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2013-11-19 16:03
New changeset e0c4a5b2b739 by Martin v. Löwis in branch 'default':
Issue #19550: Implement Windows installer changes of PEP 453 (ensurepip).
msg203399 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2013-11-19 17:06
I have now committed the changes to the installer. A demo installer can be found at

I'm skeptical about the lack of proper deinstallation: per convention, uninstallation of software ought to be "clean" on windows, i.e. return the system to the state it had before the installation.

Uninstallation currently isn't clean when pip installation is selected. I know this is what the PEP says, but I'm still unhappy, and I know that users will dislike it. So as a compromise, I made the installation of pip non-default, meaning that users have to opt into installing something that doesn't properly uninstall.
msg203402 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-11-19 17:14
That sounds reasonable to me - thanks!
msg203732 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2013-11-22 10:20
If it is acceptable for the "Remove" option to be somewhat unpredictable in the case where pip or setuptools was already installed and not by the installer, would "python -m pip uninstall --yes pip setuptools" work?  If not, should a new issue be opened to find a solution?
msg203733 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-11-22 10:55
I think "Off by default" is a reasonable solution for the beta (and
even 3.4 final), but a separate issue explaining *why* it's off by
default would be good. I can then ping the pip folks to ask for
suggestions - if they come up with something workable, we may be able
to have it turned on by default in 3.4 final.
Date User Action Args
2013-11-22 10:55:49ncoghlansetmessages: + msg203733
2013-11-22 10:20:45ned.deilysetnosy: + ned.deily
messages: + msg203732
2013-11-19 17:14:02ncoghlansetmessages: + msg203402
2013-11-19 17:06:46loewissetstatus: open -> closed
resolution: fixed
messages: + msg203399
2013-11-19 16:03:06python-devsetnosy: + python-dev
messages: + msg203394
2013-11-14 11:52:42ncoghlansetmessages: + msg202830
2013-11-14 11:13:44loewissetmessages: + msg202826
2013-11-11 16:29:06loewissetmessages: + msg202632
2013-11-11 14:49:40loewissetmessages: + msg202629
2013-11-11 12:25:46ncoghlansettype: enhancement
stage: needs patch
2013-11-11 11:56:09ncoghlanlinkissue19347 dependencies
2013-11-11 10:33:27ncoghlansetdependencies: + PEP 453: add the ensurepip module
2013-11-11 10:33:15ncoghlancreate