Thay vì --targettùy chọn hoặc --install-optionstùy chọn, tôi đã thấy rằng các cách sau hoạt động tốt (từ thảo luận về một lỗi liên quan đến chính điều này tại https://github.com/pypa/pip/issues/446 ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(Hoặc đặt PYTHONUSERBASEthư mục trong môi trường của bạn trước khi chạy lệnh, sử dụng export PYTHONUSERBASE=/path/to/install/to)
Này sử dụng rất hữu ích --usertùy chọn nhưng nói với nó để làm cho bin, lib, sharevà các thư mục khác bạn mong muốn dưới một tiền tố tùy chỉnh hơn$HOME/.local .
Sau đó, bạn có thể thêm video này vào bạn PATH, PYTHONPATHvà các biến khác như bạn làm một thư mục cài đặt bình thường.
Lưu ý rằng bạn cũng có thể cần chỉ định --upgradevà --ignore-installedcác tùy chọn nếu có bất kỳ gói nào phụ thuộc vào yêu cầu các phiên bản mới hơn được cài đặt trong PYTHONUSERBASEthư mục, để ghi đè các phiên bản do hệ thống cung cấp.
Một ví dụ đầy đủ:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
.. để cài đặt scipyvà numpygói các phiên bản gần đây nhất vào một thư mục mà sau đó bạn có thể đưa vào PYTHONPATHnhư vậy (sử dụng bash và cho python 2.6 trên CentOS 6 cho ví dụ này):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
Sử dụng virtualenv vẫn là một giải pháp tốt hơn và gọn gàng hơn!