[issue19728] PEP 453: enable pip by default in the binary installers

Martin v. Löwis report at bugs.python.org
Sat Nov 23 11:13:13 CET 2013


Martin v. Löwis added the comment:

This "clean uninstall" is a convention at least on Windows and Linux (except that on Linux, you have the option of leaving manually-edited configuration files behind if you wish).

An MSI can indeed invoke commands on uninstall (preferably of course before removing the actual Python interpreter, if the command needs Python). This is currently commented out in msi.py.

I agree that the current implementation correctly implements the PEP. The PEP says that it will leave files behind on uninstall, and it does. The PEP is silent on whether the option to install pip should be enabled by default, so it is off by default. If people really really want it, I could enable it by default, making it leave files behind. I would do so protestingly, and predict that users would complain.

The PEP also states that uninstallation is beyond its scope - so if uninstallation was added, no PEP change would be needed.

MSI also supports "authored" removal of files, i.e. I could explicitly hard-code a list of files to be removed on uninstall, see

http://msdn.microsoft.com/en-us/library/aa371201(v=vs.85).aspx

This supports wildcard file names, so I would only need to hardcode the list of directories to be removed.

Removal would only happen when the user originally selected to install pip. If it is done through a command, the command could opt to not remove pip if pip had been updated; the "authored" removal would remove the files regardless whether the had been updated (entirely new directories created in an update would be untouched).

One issue could be upgrades: currently, an upgrade (say to 3.4.1) is done by removing all files from the previous version, then installing all files of the new version. A command to remove should then not remove if the installed version is newer than the bundled one, or else the upgrade might downgrade pip.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19728>
_______________________________________


More information about the Python-bugs-list mailing list