2015-10-11 1 views
3

J'ai récemment installé la distribution Anaconda de Python. Je puis inséré la ligne suivante dans mon fichier .bashrc:Conflits lors de l'installation d'Anaconda Python

export PATH=/home/karnivaurus/Libraries/Anaconda/bin:$PATH 

Donc, il y a maintenant deux python fichiers binaires: un dans /usr/bin/, et un à /home/karnivaurus/Libraries/Anaconda/bin. J'ai également un script python, qui tente d'importer un module nommé caffe, avec la ligne import caffe. Maintenant, si je cours python caffe à partir du terminal, le script fonctionne bien. Cependant, si j'ouvre le script dans PyCharm, et mis l'interprète d'être /home/karnivaurus/Libraries/Anaconda/bin/python, je reçois l'erreur suivante:

ImportError: No module named caffe 

Sur la base de tout cela, j'ai deux questions ....

  1. Si j'exécute la commande python à partir du terminal, quel fichier binaire exécutera-t-il? Celui en /usr/bin, ou celui en /home/karnivaurus/Libraries/Anaconda/bin? Mon intuition est qu'il fonctionne le premier, en raison de la divergence de comportement avec PyCharm. Dans ce cas, comment puis-je forcer mon système à utiliser la version Anaconda?

  2. Si j'installe un nouveau paquet, par exemple pip install caffe, alors où sera-t-il installé? Sera-t-il installé à /usr/local/lib/python2.7/site-packages ou à /home/karnivaurus/Libraries/Anaconda/pkgs? Comment puis-je être sûr que ma commande python saura où trouver le nouveau paquet?

Merci!

Répondre

2

Réponse à 1:

Sur la base de votre exemple: export PATH=/home/karnivaurus/Libraries/Anaconda/bin:$PATH le /home/karnivaurus/Libraries/Anaconda/bin vient en premier, de sorte que le python devrait être celui à exécuter.

Mais la réponse dépend du résultat de l'exécution: which python.

Réponse à 2:

Anaconda, utilisez conda au lieu de pip pour installer des paquets. Lorsque vous installez en utilisant pip install caffe vous allez installer à /usr/local/lib/python2.7/site-packages.

Utilisez conda install caffe pour installer à /home/karnivaurus/Libraries/Anaconda/pkgs.


Au-dessus deux réponses expliquent pourquoi même si vous pip install spam paquet, python dirait ImportError: No module named spam. Essentiellement, vous installez Python ordinaire, mais vous essayez d'importer dans python d'Anaconda.