This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kkonopko
Recipients kkonopko
Date 2020-04-30.09:39:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1588239551.95.0.236818491517.issue40448@roundup.psfhosted.org>
In-reply-to
Content
ensurepip optionally installs or upgrades 'pip' and 'setuptools' using the version of those modules bundled with Python.  The internal PIP
installation routine by default temporarily uses its cache, if it
exists.  This is undesirable as Python builds and installations may be
independent of the user running the build, whilst PIP cache location
is dependent on the user's environment and outside of the build
environment.

At the same time, there's no value in using the cache while installing
bundled modules.  By design ensurepip does not access network so there's no point in checking or in any way accessing the cache.

This causes a problem in somewhat less usual build environments where Python is built into a designated `DESTDIR` with `--prefix` specified etc. If it does not have write permission to the cache directory (eg. `$HOME/.cache/pip` on Linux), it issues a warning but it installs bundled 'pip' and 'setuptools' fine.  But if it does not have execute access (to read directories), it fails hard.

`strace` also shows a lot of checks and even temporary use of the cache directory while processing whl files.
History
Date User Action Args
2020-04-30 09:39:12kkonopkosetrecipients: + kkonopko
2020-04-30 09:39:11kkonopkosetmessageid: <1588239551.95.0.236818491517.issue40448@roundup.psfhosted.org>
2020-04-30 09:39:11kkonopkolinkissue40448 messages
2020-04-30 09:39:11kkonopkocreate