L'importazione di un modulo Python funziona dalla riga di comando, ma non da PyCharm


8

Il mio binario Python predefinito è impostato su quello con la distribuzione Anaconda di Python. Questo si trova a/home/karnivaurus/anaconda/bin/python , e mi hanno fatto di questo il default aggiungendo al mio .bashrcfile di quanto segue: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

Ho anche un pacchetto Python chiamato caffe , che si trova a /home/karnivaurus/caffe/distribute/python, e ho aggiunto questo al percorso di ricerca pacchetto aggiungendo al mio .bashrcfile di quanto segue: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Ora, ho un semplice file Python, chiamato test.py , con i seguenti contenuti:

import caffe
print "Done."

Se eseguo questo accedendo python test.pyal terminale, funziona perfettamente, stampando "Fatto". Il problema che sto riscontrando è quando eseguo questo nell'IDE PyCharm. In PyCharm ho impostato l'interprete/home/karnivaurus/anaconda/bin/python . Ma quando apro test.pyin PyCharm ed eseguo il file nell'IDE, viene visualizzato il seguente errore:

ImportError: No module named caffe

Quindi la mia domanda è: perché PyCharm non riesce a trovare il caffemodulo quando esegue lo script Python, ma può essere trovato quando eseguo lo script dal terminale?

Grazie!


2
Immagino che a PyCharm non importi del tuo .bashrc, in quanto si tratta di un file di configurazione specifico per Bash. Devi impostare quella variabile in PyCharm o in es..profile
Byte Commander

Risposte:


11

Come ha detto ByteCommander in un commento, PyCharm non usa bashrc, quindi non sa dove sia la tua libreria.

Nella stessa schermata in cui hai aggiunto l'interprete puoi vedere l'icona di una ruota, fare clic su di essa, ti mostrerà un menu, fare clic su altro. Dovresti vedere una schermata come questa:

Configurazione dell'interprete PyCharm

Devi selezionare il tuo interprete e fare clic sull'ultimo pulsante. Questo dovrebbe aprire questa finestra:

Configurazione dei percorsi dell'interprete

Ora facendo clic sull'icona più dovresti essere in grado di aggiungere i tuoi percorsi per le librerie.


2
E questo è un buon esempio del perché dare istruzioni è più facile con la riga di comando che con le GUI.
Javier Rivera,

Grazie. È questo il modo di aggiungere percorsi per entrambe le librerie binarie e i moduli Python? O i moduli Python dovrebbero essere aggiunti al "Root di origine"?
Karnivaurus,

1
Tutti e due. Dovresti usare Source Root solo se hai intenzione di apportare modifiche a quei moduli (non è necessario aggiungere quindi a Source Root per il completamento, la documentazione o "andare all'origine" per funzionare).
Javier Rivera,

5

I programmi avviati dal programma di avvio di Ubuntu non leggono.bashrc . In alternativa all'impostazione dei percorsi in PyCharm, è possibile semplicemente avviare PyCharm da una shell Bash per consentirgli di accedere alle variabili di ambiente impostate .bashrc.


C'è un modo per fare in modo che i programmi leggano il file .bash_rc all'avvio dal programma di avvio?
Utente 007

0

Apri il seguente collegamento ( Ctrl+ Alt+ S) e fai clic su (Progetto: xxxx), ora scegli (Struttura del progetto) e seleziona ( /home/yourUser/PycharmProjects/XXXX/venv/bin) e fai clic con il pulsante destro del mouse (Escluso) o ( Alt+ E).

Ora fai clic su (+ Aggiungi radice di contenuto) e vedi se punta alla seguente posizione ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) e fai clic su OK. Ora chiudi l'IDE e riaprilo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.