-
Xavier Thompson authored
Prior to pip 21.1, pip install --editable --target fails because it results in wrong parameters being passed to setup.py develop by pip. Prior to setuptools 45.2.0, both pip install --editable --target and pip install --editable --prefix fail because the temporary install directory used internally by pip is not added to PYTHONPATH prior to pip calling setup.py develop. In later version setuptools emits a warning instead of an error. Temporarily override PYTHONUSERBASE to point to the target directory, so as to emulate --prefix=<dir> with PYTHONUSERBASE=<dir> and --user. Since pip's build isolation breaks python setup.py develop --user, as called by pip install --editable --user when the build backend of the project is setuptools, force --no-build-isolation in this case, even when allow-picked-versions is true. This is needed for Python2 because pip 21.1 and setuptools 45.2.0 are both Python3 only.
4e97a2bc