2015-10-11 2 views
3

Я недавно установил дистрибутив Anaconda Python. Затем я вставил следующую строку в мой .bashrc файл:Конфликты при установке Anaconda Python

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

Таким образом, в настоящее время существует два python бинарных файлов: один в /usr/bin/, и один в /home/karnivaurus/Libraries/Anaconda/bin.

У меня также есть скрипт python, который пытается импортировать модуль с именем caffe, с линией import caffe. Теперь, если я запустил python caffe с терминала, сценарий работает нормально. Однако, если открыть скрипт в PyCharm и установить интерпретатор быть /home/karnivaurus/Libraries/Anaconda/bin/python, я получаю следующее сообщение об ошибке:

ImportError: No module named caffe 

Исходя из всего этого, у меня есть два вопроса ....

  1. Если я запустил команду python с терминала, какой бинарный файл выполнит? Один в /usr/bin, или один в /home/karnivaurus/Libraries/Anaconda/bin? Моя интуиция заключается в том, что она запускает первый из-за расхождения в поведении с PyCharm. В этом случае, как я могу заставить мою систему использовать версию Anaconda?

  2. Если я устанавливаю новый пакет, например pip install caffe, то где он будет установлен? Будет ли он установлен до /usr/local/lib/python2.7/site-packages или до /home/karnivaurus/Libraries/Anaconda/pkgs? Как я могу быть уверен, что моя команда python будет знать, где найти новый пакет?

Спасибо!

ответ

2

Ответ на 1:

Основываясь на вашем примере: export PATH=/home/karnivaurus/Libraries/Anaconda/bin:$PATH/home/karnivaurus/Libraries/Anaconda/bin приходит первым, так питон оттуда должен быть один для выполнения.

Но определенный ответ зависит от результата работы: which python.

Ответ на 2:

В Anaconda, используйте conda вместо pip для установки пакетов. Когда вы устанавливаете с помощью pip install caffe, вы будете устанавливать на /usr/local/lib/python2.7/site-packages.

Используйте conda install caffe для установки на /home/karnivaurus/Libraries/Anaconda/pkgs.


Выше два ответы объяснить, почему, даже если вы pip install spam пакет, python сказал бы ImportError: No module named spam. По существу, вы устанавливаете на обычный Python, но вы пытаетесь импортировать в python Anaconda.

Смежные вопросы