web-dev-qa-db-fra.com

L'importation d'un module Python fonctionne à partir de la ligne de commande, mais pas de PyCharm.

Mon binaire Python par défaut est défini sur celui avec la distribution Anaconda de Python. Cela se trouve à /home/karnivaurus/anaconda/bin/python, et j’en ai fait la valeur par défaut en ajoutant à mon fichier .bashrc ce qui suit: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

J'ai également un package Python appelé caffe, situé à /home/karnivaurus/caffe/distribute/python, et je l'ai ajouté au chemin de recherche du package en ajoutant à mon fichier .bashrc le code suivant: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Maintenant, j'ai un simple fichier Python, appelé test.py, avec le contenu suivant:

import caffe
print "Done."

Si je lance ceci en entrant python test.py dans le terminal, tout se passe bien et affiche "Terminé". Le problème que je rencontre est lorsque je lance ceci dans l'IDE PyCharm. Dans PyCharm, j'ai défini l'interprète sur /home/karnivaurus/anaconda/bin/python. Mais lorsque j'ouvre test.py dans PyCharm et que je lance le fichier dans l'EDI, le message d'erreur suivant s'affiche:

ImportError: No module named caffe

Ma question est donc la suivante: pourquoi PyCharm ne peut-il pas trouver le module caffe lorsqu’il exécute le script Python, mais peut-on le trouver lorsque j’exécute le script à partir du terminal?

Je vous remercie!

7
Karnivaurus

Comme ByteCommander l'a dit dans un commentaire, PyCharm n'utilise pas bashrc et ne sait donc pas où se trouve votre bibliothèque.

Dans le même écran où vous avez ajouté l'interprète, vous pouvez voir une icône de roue, cliquez dessus, un menu apparaîtra, cliquez sur plus. Vous devriez voir un écran comme celui-ci:

PyCharm Interpreter configuration

Vous devez sélectionner votre interprète et cliquer sur le dernier bouton. Cela devrait ouvrir cette fenêtre:

Interpreter paths configuration

Maintenant, en cliquant sur l'icône plus, vous devriez pouvoir ajouter vos propres chemins pour les bibliothèques.

10
Javier Rivera

Programmes démarrés à partir du programme de lancement Ubuntu ne lisez pas .bashrc . Au lieu de définir les chemins dans PyCharm, vous pouvez simplement démarrer PyCharm à partir d'un Bash Shell pour lui donner accès aux variables d'environnement que vous avez définies dans .bashrc.

5
Mihai Capotă

Ouvrez le raccourci suivant (Ctrl + Alt + S), puis cliquez sur (Projet: xxxx). Choisissez maintenant (Structure du projet), sélectionnez (/home/yourUser/PycharmProjects/XXXX/venv/bin) et cliquez avec le bouton droit de la souris (Exclus) ou (Alt + E).

Maintenant, cliquez sur (+ Ajouter une racine de contenu) et voyez s'il pointe vers l'emplacement suivant (/home/ yourUser/PycharmProjects/XXXXX/venv/bin), puis cliquez sur OK. Fermez maintenant le IDE et rouvrez-le.

0
Marcio Torres