[New-bugs-announce] [issue40448] ensurepip uses cache directory

Krzysztof Konopko report at bugs.python.org
Thu Apr 30 05:39:11 EDT 2020


New submission from Krzysztof Konopko <kris at konagma.com>:

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.

----------
components: Build, Installation
messages: 367751
nosy: kkonopko
priority: normal
severity: normal
status: open
title: ensurepip uses cache directory
type: behavior
versions: Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40448>
_______________________________________


More information about the New-bugs-announce mailing list