Saya mencoba mengimpor modul dari direktori tertentu.
Masalahnya adalah bahwa jika saya gunakan sys.path.append(mod_directory)
untuk menambahkan path dan kemudian membuka interpreter python, direktori mod_directory
akan ditambahkan ke akhir daftar sys.path. Jika saya mengekspor PYTHONPATH
variabel sebelum membuka interpreter python, direktori akan ditambahkan ke awal daftar. Dalam kasus terakhir saya dapat mengimpor modul tetapi dalam yang pertama, saya tidak bisa.
Adakah yang bisa menjelaskan mengapa ini terjadi dan memberi saya solusi untuk menambahkannya mod_directory
ke awal, di dalam skrip python?
python
mechanize
python-import
pythonpath
Imajinasi yang tidak dicampurkan
sumber
sumber
site
modul .Jawaban:
Ini berfungsi seperti yang didokumentasikan. Setiap jalur yang ditentukan
PYTHONPATH
didokumentasikan sebagai biasanya datang setelah direktori kerja tetapi sebelum jalur standar yang disediakan juru bahasa.sys.path.append()
ditambahkan ke jalur yang ada. Lihat di sini dan di sini . Jika Anda ingin direktori tertentu didahulukan, cukup masukkan di kepala sys.path:Karena itu, biasanya ada cara yang lebih baik untuk mengelola impor daripada menggunakan
PYTHONPATH
atau memanipulasisys.path
secara langsung. Lihat, misalnya, jawaban untuk pertanyaan ini .sumber
Anda bisa menggunakan:
sumber
Bagi saya, saya perlu caffe ke jalur python saya. Saya bisa menambahkan jalurnya ke file
/home/xy/.bashrc
dengan menambahkanexport PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH
.ke
/home/xy/.bashrc
file saya .Tetapi ketika saya menggunakan pycharm, jalan masih belum masuk.
Jadi saya bisa menambahkan path ke
PYTHONPATH
variabel, dengan menjalankan -> edit Konfigurasi.sumber
Mengubah dir untuk sementara berfungsi dengan baik untuk mengimpor:
sumber
Saat menjalankan skrip Python dari Powershell di Windows, ini seharusnya berfungsi:
sumber