--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 का उपयोग करना अभी भी एक बेहतर और बेहतर समाधान है!