Bagaimana cara mengetahui direktori mana yang terdaftar dalam PYTHONPATH
variabel sistem saya , dari dalam skrip Python (atau shell interaktif)?
python
python-module
pythonpath
Paul D. Waite
sumber
sumber
PYTHONPATH
. Gunakansys.path
untuk itu.sys.path
adalah "Daftar string yang menentukan jalur pencarian untuk modul" - docs.python.org/2/library/sys.html#sys.path . PYTHONPATH adalah variabel lingkungan yang memengaruhi daftar ini. Dengan definisi yang masuk akalsys.path
adalah "jalur python" Anda.python -m site
.Jawaban:
sys.path
mungkin termasuk item yang tidak spesifik dalamPYTHONPATH
variabel lingkungan Anda . Untuk meminta variabel secara langsung, gunakan:sumber
sys.path
.Anda mungkin juga menginginkan ini:
Atau sebagai satu liner dari terminal:
Peringatan : Jika Anda memiliki beberapa versi Python diinstal, Anda harus menggunakan perintah yang sesuai
python2
ataupython3
.sumber
python -c "import sys; print('\n'.join(sys.path))"
Tampaknya tidak dapat mengedit jawaban lainnya. Memiliki kesalahan kecil karena hanya Windows. Solusi yang lebih umum adalah dengan menggunakan os.sep seperti di bawah ini:
sys.path mungkin menyertakan item yang tidak secara khusus dalam variabel lingkungan PYTHONPATH Anda. Untuk meminta variabel secara langsung, gunakan:
sumber
os.sep
mengembalikan pemisah direktori untuk sistem operasi, mis/
. Pemisah yang digunakan dalam jalur Python berbeda, dan dikembalikan olehos.pathsep
seperti yang ditunjukkan pada jawaban yang diterima.PYTHONPATH adalah variabel lingkungan yang nilainya adalah daftar direktori. Setelah diatur, digunakan oleh Python untuk mencari modul yang diimpor, bersama dengan std lainnya. dan direktori perpustakaan pihak ketiga yang tercantum di "sys.path" Python.
Seperti variabel lingkungan lainnya, Anda dapat mengekspornya dalam shell atau di ~ / .bashrc, lihat di sini . Anda dapat meminta os.environ ['PYTHONPATH'] untuk nilainya dalam Python seperti yang ditunjukkan di bawah ini:
JIKA didefinisikan dalam shell sebagai
MAKA hasil =>
Hasil LAIN =>
Untuk mengatur PYTHONPATH ke beberapa jalur, lihat di sini .
Perhatikan bahwa seseorang dapat menambah atau menghapus jalur pencarian melalui sys.path.insert (), del atau hapus () pada saat run-time, tetapi TIDAK melalui os.environ []. Contoh:
Singkatnya, PYTHONPATH adalah salah satu cara menentukan jalur pencarian Python untuk modul yang diimpor di sys.path. Anda juga dapat menerapkan operasi daftar langsung ke sys.path tanpa bantuan PYTHONPATH.
sumber
Python memberitahuku di mana ia tinggal ketika itu memberi saya pesan kesalahan :)
sumber
Gunakan ini:
Atau satu baris dari cmd:
sumber