Thay vì --target
tùy chọn hoặc --install-options
tù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 PYTHONUSERBASE
thư 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 --user
tùy chọn nhưng nói với nó để làm cho bin
, lib
, share
và 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
, PYTHONPATH
và 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 --upgrade
và --ignore-installed
cá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 PYTHONUSERBASE
thư 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 scipy
và numpy
gó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 PYTHONPATH
như 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!