--targetSeçenek veya seçenek yerine --install-options, aşağıdakilerin iyi çalıştığını gördüm ( https://github.com/pypa/pip/issues/446 adresindeki bu şeyle ilgili bir hata hakkında tartışmadan ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(Veya PYTHONUSERBASEkomutu çalıştırmadan önce ortamınızdaki dizini kullanarak export PYTHONUSERBASE=/path/to/install/to)
Bu çok kullanışlı bir --userseçenek kullanır, ancakbin , lib, sharesen yerine özel bir önek altında beklediğiniz ve diğer dizinleri $HOME/.local.
Sonra bunu PATH , PYTHONPATHNormal bir kurulum dizini olarak ve diğer değişkenlere.
Not Ayrıca belirtmek gerekir ki --upgradeve--ignore-installedPYTHONUSERBASESistemin sağladığı sürümleri geçersiz kılmak için, buna bağlı olan paketler dizinde daha yeni sürümlerin yüklenmesini gerektiriyorsa seçeneklerini .
Tam bir örnek:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
.. scipyve numpyen son sürümleri daha sonra istediğiniz gibi bir dizine yüklemek ve paketlemek PYTHONPATHiçin (bu örnek için CentOS 6'da bash ve python 2.6 için):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
Virtualenv kullanmak hala daha iyi ve daha temiz bir çözüm!