2015-04-10 23 views
15

Quando si tenta di eseguire il mio programma dal tutto PyCharm IDE funziona bene, ma se di tipo I in Fedora:script in esecuzione in PyCharm ma non dalla riga di comando

python myScript.py 

in un prompt della shell ottengo un errore di importazione da 1 del modulo.

ImportError : No modue named myDependency

Cosa fa PyCharm fare che permette l'interprete di trovare i miei dipendenze quando ha lanciato l'IDE? Come posso ottenere il mio script per trovare le sue dipendenze in modo che possa essere lanciato con un comando singe?

risposta

22

Ci sono alcune cose possibili che possono causare questo:

  1. Il pitone stesso interprete? Verificare con import sys; print(sys.executable)
  2. È la stessa directory di lavoro? Verificare con import os; print(os.getcwd())
  3. Discrepanze in sys.path, che è l'elenco python cerca in modo sequenziale per le posizioni di importazione, può essere causato dalle variabili di ambiente. Verificare con import sys; print(sys.path).
0

Come primo passo, in PyCharm passare alle impostazioni del progetto/interprete python e prendere nota del percorso. Quindi confrontalo con il risultato di which python - si allineano? In caso contrario, è necessario farlo fare così.

Se questo è ok, controllare che cosa PyCharm definisce come root del progetto nelle impostazioni del progetto/struttura del progetto. È la directory in cui si trova lo script? In caso contrario, è necessario eseguire lo script da tale directory o aggiungere la directory alla variabile $PYTHONPATH.

Quasi sicuramente, è una di quelle due cose.

0

È possibile che sia stata impostata la dipendenza del progetto in Pycharm per il modulo myDependency. Puoi accedere allo stesso in Fedora importando il modulo esplicitamente o creando l'egg di quel modulo e installandolo. Questo andrà quindi ai pacchetti del sito python da cui è possibile fare riferimento a questa dipendenza.