Author ncoghlan
Recipients GreenKey, emilyemorehouse, ncoghlan, r.david.murray
Date 2017-06-14.00:16:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1497399403.29.0.173953114076.issue30628@psf.upfronthosting.co.za>
In-reply-to
Content
The upstream supported install path for bootstrapping the venv is from a wheel file. The CPython source tree contains the necessary wheels, and, by default, upgrading the system pip doesn't touch them.

The only distro I can speak authoritatively for when it comes to doing things differently is Fedora, and what we do is:

- add a circular dependency between the system Python & the system pip
- add a circular dependency between the system Python & Fedora's "rewheel" utility
- patch CPython to remove the bundled wheel files
- patch ensurepip to "rewheel" the system pip and install that into freshly bootstrapped virtual environments

The end result works, but it really isn't pretty from a distro maintenance perspective, so not every distro is going to want to do it (Fedora has the luxury of Red Hat's Python maintenance team also maintaining the Fedora system Python).

It also isn't currently practical for upstream to make it work that way by default due to:

* the implied external dependency on the system pip (which not every distro is going to have)
* the need to recreate a wheel from an already installed package (which isn't officially supported by distutils-sig as a valid thing to do)
* the fact some distro's unbundle pip's vendored dependencies, so rewheeling just pip isn't necessarily sufficient (it is on Fedora, but that's only because we leave the vendored dependencies in place and trust pip to issue new updates promptly when necessary)
* the fact that not every distro lays down the distutils-metadata needed to get tools like rewheel to work (Debian's equivalent, dirtbike, uses deb metadata instead)
History
Date User Action Args
2017-06-14 00:16:43ncoghlansetrecipients: + ncoghlan, r.david.murray, GreenKey, emilyemorehouse
2017-06-14 00:16:43ncoghlansetmessageid: <1497399403.29.0.173953114076.issue30628@psf.upfronthosting.co.za>
2017-06-14 00:16:43ncoghlanlinkissue30628 messages
2017-06-14 00:16:41ncoghlancreate