--targetविकल्प या विकल्प के बजाय --install-options, मैंने पाया है कि निम्नलिखित अच्छी तरह से काम करता है (बग पर चर्चा से संबंधित इस बारे में https://github.com/pypa/pip/issues/446 पर ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(या PYTHONUSERBASEकमांड का उपयोग करके कमांड चलाने से पहले अपने वातावरण में निर्देशिका सेट करें export PYTHONUSERBASE=/path/to/install/to)
यह बहुत उपयोगी का उपयोग करता है --userविकल्प लेकिन यह बताता है बनाने के लिए bin, lib, shareऔर अन्य निर्देशिकाओं आप एक कस्टम उपसर्ग के तहत उम्मीद के बजाय चाहते हैं$HOME/.local ।
फिर आप इसे अपने लिए जोड़ सकते हैं PATH,PYTHONPATH आप एक सामान्य स्थापना निर्देशिका के रूप में और अन्य चर।
ध्यान दें कि आप भी निर्दिष्ट करने के लिए आवश्यकता हो सकती है --upgradeऔर --ignore-installedविकल्प किसी भी संकुल जिस पर इस पर निर्भर करता है नए संस्करण की आवश्यकता होती है में स्थापित किया जा सकता है अगर PYTHONUSERBASEनिर्देशिका, सिस्टम-प्रदान की संस्करणों ओवरराइड करने के लिए।
एक पूर्ण उदाहरण:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
.. scipyऔर numpyएक निर्देशिका में सबसे हाल के संस्करणों को स्थापित और पैकेज करें जिसे आप फिर अपने PYTHONPATHपसंद में शामिल कर सकते हैं (इस उदाहरण के लिए बैश का उपयोग करके और सेंटोस 6 पर अजगर 2.6 के लिए):
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 का उपयोग करना अभी भी एक बेहतर और बेहतर समाधान है!