Mengimpor modul Python bekerja dari baris perintah, tetapi tidak dari PyCharm

8

Biner Python default saya disetel ke yang memiliki distribusi Anaconda dari Python. Hal ini ditemukan di /home/karnivaurus/anaconda/bin/python, dan saya telah membuat ini default dengan menambahkan ke saya .bashrcberkas berikut: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

Saya juga memiliki paket Python disebut caffe, yang terletak di /home/karnivaurus/caffe/distribute/python, dan saya telah menambahkan ini ke jalur pencarian paket dengan menambahkan ke saya .bashrcberkas berikut: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Sekarang, saya punya file Python sederhana, bernama test.py, dengan konten berikut:

import caffe
print "Done."

Jika saya menjalankan ini dengan masuk python test.pyke terminal, itu berjalan dengan baik, mencetak "Selesai." Masalah yang saya alami adalah ketika saya menjalankan ini di PyCharm IDE. Di PyCharm, saya telah mengatur penerjemah /home/karnivaurus/anaconda/bin/python. Tetapi ketika saya membuka test.pydi PyCharm, dan menjalankan file di IDE, saya mendapatkan kesalahan berikut:

ImportError: No module named caffe

Jadi pertanyaan saya adalah: Mengapa PyCharm tidak dapat menemukan caffemodul ketika menjalankan skrip Python, tetapi dapat ditemukan ketika saya menjalankan skrip dari terminal?

Terima kasih!

Karnivaurus
sumber
2
Saya kira PyCharm tidak peduli dengan Anda .bashrc, karena itu adalah file konfigurasi bash-specific. Anda harus menetapkan variabel itu di PyCharm atau misalnya.profile
Byte Commander

Jawaban:

11

Seperti yang dikatakan ByteCommander dalam komentar, PyCharm tidak menggunakan bashrc, jadi itu tidak tahu di mana perpustakaan Anda.

Pada layar yang sama di mana Anda menambahkan juru bahasa Anda dapat melihat ikon roda, klik itu, itu akan menampilkan menu, klik lebih banyak. Anda akan melihat layar seperti ini:

Konfigurasi Penerjemah PyCharm

Anda harus memilih juru bahasa Anda dan klik tombol terakhir. Ini harus membuka jendela ini:

Konfigurasi jalur juru bahasa

Sekarang mengklik ikon plus Anda harus dapat menambahkan jalur Anda sendiri untuk perpustakaan.

Javier Rivera
sumber
2
Dan ini adalah contoh yang baik tentang mengapa memberikan instruksi lebih mudah dengan baris perintah daripada GUI.
Javier Rivera
Terima kasih. Apakah ini cara untuk menambahkan path untuk pustaka biner, dan modul Python? Atau haruskah modul Python ditambahkan ke "Source Root"?
Karnivaurus
1
Kedua. Anda hanya harus menggunakan Source Root jika Anda akan membuat perubahan pada modul-modul itu (Anda tidak perlu menambahkan kemudian ke Source Root untuk penyelesaian, dokumentasi atau 'going to source' untuk bekerja).
Javier Rivera
5

Program yang dimulai dari peluncur Ubuntu tidak membaca.bashrc . Sebagai alternatif untuk menyetel path di PyCharm, Anda bisa memulai PyCharm dari Bash shell untuk memberinya akses ke variabel lingkungan yang Anda atur .bashrc.

Mihai Capotă
sumber
Apakah ada cara untuk membuat program membaca file .bash_rc ketika dimulai dari launcher?
User007
0

Buka pintasan berikut ( Ctrl+ Alt+ S), dan klik (Proyek: xxxx), sekarang pilih (Struktur Proyek) dan pilih ( /home/yourUser/PycharmProjects/XXXX/venv/bin) dan klik kanan (Tidak Termasuk) atau ( Alt+ E).

Sekarang klik (+ Tambahkan Root Konten) dan lihat apakah itu menunjuk ke lokasi berikut ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) dan klik OK. Sekarang tutup IDE dan buka lagi.

Marcio Torres
sumber