Импорт модуля Python работает из командной строки, но не из PyCharm

8

Мой бинарный файл Python по умолчанию установлен на дистрибутив Python Anaconda. Это находится в /home/karnivaurus/anaconda/bin/python, и я сделал это по умолчанию, добавив к моему .bashrcфайлу следующее: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

У меня также есть пакет Python под названием caffe, который находится в /home/karnivaurus/caffe/distribute/python, и я добавил это к поиску пакета пути, добавив к моему .bashrcфайлу следующее: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Теперь у меня есть простой файл Python, называемый test.py, со следующим содержимым:

import caffe
print "Done."

Если я запускаю это, входя python test.pyв терминал, он работает нормально, распечатывая «Готово». У меня проблема, когда я запускаю это в PyCharm IDE. В PyCharm я установил переводчик /home/karnivaurus/anaconda/bin/python. Но когда я открываю test.pyв PyCharm и запускаю файл в IDE, я получаю следующую ошибку:

ImportError: No module named caffe

Итак, мой вопрос: почему PyCharm не может найти caffeмодуль, когда он запускает скрипт Python, но его можно найти, когда я запускаю скрипт из терминала?

Спасибо!

Karnivaurus
источник
2
Я думаю, что PyCharm не заботится о вас .bashrc, так как это специфичный для bash конфигурационный файл. Вы должны установить эту переменную либо в PyCharm, либо, например,.profile
Byte Commander

Ответы:

11

Как сказано в комментарии ByteCommander, PyCharm не использует bashrc, поэтому он не знает, где находится ваша библиотека.

На том же экране, где вы добавили переводчик, вы можете увидеть значок колеса, щелкните по нему, он покажет вам меню, нажмите еще. Вы должны увидеть такой экран:

Конфигурация интерпретатора PyCharm

Вы должны выбрать своего переводчика и нажать на последнюю кнопку. Это должно открыть это окно:

Конфигурация путей интерпретатора

Теперь, нажав на значок плюса, вы сможете добавить свои собственные пути к библиотекам.

Хавьер Ривера
источник
2
И это хороший пример того, почему давать инструкции проще в командной строке, чем в графическом интерфейсе.
Хавьер Ривера
Спасибо. Это способ добавить пути для двоичных библиотек и модулей Python? Или модули Python должны быть добавлены в «Source Root»?
Карнивавр
1
Обе. Вы должны использовать Source Root только в том случае, если вы собираетесь вносить изменения в эти модули (вам не нужно добавлять их в Source Root для завершения, документирования или «перехода к исходному тексту» для работы).
Хавьер Ривера
5

Программы, запущенные из лаунчера Ubuntu , не читаются.bashrc . В качестве альтернативы настройке путей в PyCharm, вы можете просто запустить PyCharm из оболочки Bash, чтобы предоставить ему доступ к переменным среды, которые вы указали .bashrc.

Михай Капотэ
источник
Есть ли способ заставить программы читать файл .bash_rc при запуске из программы запуска?
User007
0

Откройте следующий ярлык ( Ctrl+ Alt+ S) и нажмите (Project: xxxx), затем выберите (Структура проекта) и выберите ( /home/yourUser/PycharmProjects/XXXX/venv/bin) и щелкните правой кнопкой мыши (Исключено) или ( Alt+ E).

Теперь нажмите (+ Добавить корень контента) и посмотрите, указывает ли он на следующее местоположение ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin), и нажмите OK. Теперь закройте IDE и снова откройте его.

Марсио Торрес
источник