New submission from Krzysztof Konopko <k...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue40448>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to