Zamiast --target
opcji lub --install-options
opcji 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 PYTHONUSERBASE
katalog w swoim środowisku przed uruchomieniem polecenia, używając export PYTHONUSERBASE=/path/to/install/to
)
Używa bardzo przydatnych --user
opcji, ale mówi, że należy wprowadzić bin
, lib
, share
i inne katalogi można oczekiwać pod niestandardowym zamiast prefiksu $HOME/.local
.
Następnie można dodać do tego PATH
, PYTHONPATH
i innych zmiennych, tak jak normalny katalog instalacyjny.
Pamiętaj, że może być konieczne określenie opcji --upgrade
i, --ignore-installed
jeśli jakiekolwiek pakiety, od których to zależy, wymagają zainstalowania nowszych wersji w PYTHONUSERBASE
katalogu, 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ć scipy
i numpy
spakować najnowsze wersje do katalogu, który możesz następnie dołączyć do swojego PYTHONPATH
podobnego (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!