Alih-alih --target
opsi atau --install-options
opsi, 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 PYTHONUSERBASE
direktori di lingkungan Anda sebelum menjalankan perintah, menggunakan export PYTHONUSERBASE=/path/to/install/to
)
Ini menggunakan sangat berguna --user
pilihan tetapi mengatakan itu untuk membuat bin
, lib
, share
dan direktori lain yang Anda harapkan di bawah awalan kustom daripada $HOME/.local
.
Kemudian Anda dapat menambahkan ini ke variabel Anda PATH
, PYTHONPATH
dan lainnya seperti pada direktori instalasi normal.
Perhatikan bahwa Anda mungkin juga perlu menentukan opsi --upgrade
dan --ignore-installed
jika ada paket di mana ini tergantung memerlukan versi yang lebih baru untuk diinstal di PYTHONUSERBASE
direktori, untuk menimpa versi yang disediakan sistem.
Contoh lengkap:
PYTHONUSERBASE=/opt/mysterypackage-1.0/python-deps pip install --user --upgrade numpy scipy
..untuk menginstal scipy
dan numpy
mengemas versi terbaru ke dalam direktori yang dapat Anda sertakan di PYTHONPATH
like 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!