Pada sistem Ubuntu (10.10), saya memiliki paket Python yang menginstal sendiri /usr/local/lib/python2.6/site-packages/
. Ini tidak terkandung dalam jalur default (sys.path). Bagaimana cara menambahkan direktori ini ke jalur?
Mengatur $PYTHONPATH
variabel lingkungan adalah solusi, tentu saja, tapi saya mencari cara yang lebih elegan untuk melakukan ini. Sebagai contoh easy_install
juga meletakkan paket yang diinstal di dalamnya, sys.path saya terlihat seperti ini:
['', '/usr/local/lib/python2.6/dist-packages/keyring-0.5.1-py2.6.egg',
'/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk',
'/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload',
'/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6',
'/usr/lib/pymodules/python2.6/gtk-2.0']
jadi path jelas bukan default yang dibangun ke dalam biner Python.
Apakah ada file konfigurasi tunggal yang berisi entri di atas? Atau dengan cara apa dimungkinkan untuk memodifikasinya?
sitecustomize.py
yangsite.py
mencoba mengimpor dan memodifikasi disys.path
sana.Anda dapat membuat file baru yang disebut
/etc/profile.d/local_python.sh
dengan kontenYang akan mengatur
PYTHONPATH
variabel untuk semua pengguna yang masuk di sistem Anda.sumber
Saya ingin merangkum temuan saya tentang modifikasi jalur python. Ada dua cara untuk melakukannya.
PYTHONPATH
File .pth apa pun yang ditemukan di jalur default (lihat di bawah) akan memasukkan kontennya
sys.path
. Format file .pth tersebut sederhana: satu jalur (folder) per baris. Anehnya, jalur bisa absolut atau relatif terhadap file .pth .Path default adalah tempat interpreter berada dan di
<some-prefix>/lib/python<version>/site-packages
mana<some-prefix>
biasanya/usr/
.PYTHONPATH
adalah variabel lingkungan dari sistem operasi Anda. Pada sistem unix Anda daftar merekaenv
. Modifikasi global dari variabel tersebut dilakukan melalui skrip .sh di dalam/etc/profile.d/
folder seperti yang disebutkan oleh @ TestUser16418.sumber
Misalnya, jika Anda ingin mengimpor
suds
modul yang tersedia sebagai.egg
file:sumber