Alih-alih --targetopsi atau --install-optionsopsi, saya menemukan bahwa berikut ini berfungsi dengan baik (dari diskusi tentang bug tentang hal ini di https://github.com/pypa/pip/issues/446 ):
PYTHONUSERBASE=/path/to/install/to pip install --user
(Atau atur PYTHONUSERBASEdirektori di lingkungan Anda sebelum menjalankan perintah, menggunakan export PYTHONUSERBASE=/path/to/install/to)
Ini menggunakan sangat berguna --userpilihan tetapi mengatakan itu untuk membuat bin, lib, sharedan direktori lain yang Anda harapkan di bawah awalan kustom daripada $HOME/.local.
Kemudian Anda dapat menambahkan ini ke variabel Anda PATH, PYTHONPATHdan lainnya seperti pada direktori instalasi normal.
Perhatikan bahwa Anda mungkin juga perlu menentukan opsi --upgradedan --ignore-installedjika ada paket di mana ini tergantung memerlukan versi yang lebih baru untuk diinstal di PYTHONUSERBASEdirektori, untuk menimpa versi yang disediakan sistem.
Contoh lengkap:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
..untuk menginstal scipydan numpymengemas versi terbaru ke dalam direktori yang dapat Anda sertakan di PYTHONPATHlike Anda (menggunakan bash dan untuk python 2.6 pada CentOS 6 untuk contoh ini):
export PYTHONPATH=/opt/mysterypackage-1.0/python-deps/lib64/python2.6/site-packages:$PYTHONPATH
export PATH=/opt/mysterypackage-1.0/python-deps/bin:$PATH
Menggunakan virtualenv masih merupakan solusi yang lebih baik dan lebih rapi!