The ensurepip module in the Python distribution bootstraps the pip package manager. The Python build system runs this module during installation so that the resulting Python installation is ready to install packages. Right now, the pip command that ensurepip installs the pip and setuptools packages only if it doesn't find them installed already. The problem is that the pip run by ensurepip checks for its bootstrap packages in ~/.local, and if it finds them there, it concludes it doesn't need to install these packages as part of bootstrap. But in various situations (e.g., installing Python into an isolated environment), these packages need to be installed anyway.
ensurepip should ignore packages in ~/.local, at least when as part of the Python build system
|