Zamiast --targetopcji lub --install-optionsopcji okazało się, że następujące działa dobrze (z dyskusji na temat błędu dotyczącego tej właśnie rzeczy na https://github.com/pypa/pip/issues/446 ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(Lub ustaw PYTHONUSERBASEkatalog w swoim środowisku przed uruchomieniem polecenia, używając export PYTHONUSERBASE=/path/to/install/to)
Używa bardzo przydatnych --useropcji, ale mówi, że należy wprowadzić bin, lib, sharei inne katalogi można oczekiwać pod niestandardowym zamiast prefiksu $HOME/.local.
Następnie można dodać do tego PATH, PYTHONPATHi innych zmiennych, tak jak normalny katalog instalacyjny.
Pamiętaj, że może być konieczne określenie opcji --upgradei, --ignore-installedjeśli jakiekolwiek pakiety, od których to zależy, wymagają zainstalowania nowszych wersji w PYTHONUSERBASEkatalogu, aby zastąpić wersje dostarczone przez system.
Pełny przykład:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
.. aby zainstalować scipyi numpyspakować najnowsze wersje do katalogu, który możesz następnie dołączyć do swojego PYTHONPATHpodobnego (używając bash i dla Pythona 2.6 na CentOS 6 w tym przykładzie):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
Korzystanie z virtualenv jest wciąż lepszym i schludniejszym rozwiązaniem!