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
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.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
The text was updated successfully, but these errors were encountered: