แทนที่จะเป็น--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
ชอบ (ใช้ bash และ python 2.6 บน CentOS 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 ยังคงเป็นทางออกที่ดีกว่าและดีกว่า!