Імпорт модуля Python працює з командного рядка, але не з PyCharm


8

У моєму двійковій програмі Python за замовчуванням встановлено значення з анакондовим розподілом Python. Це знаходиться в /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в термінал, він працює добре, друкуючи "Готово". Проблема, яка у мене виникає, коли я запускаю це в IDE PyCharm. У PyCharm я встановив перекладача /home/karnivaurus/anaconda/bin/python. Але коли я відкриваю test.pyв PyCharm і запускаю файл в IDE, я отримую таку помилку:

ImportError: No module named caffe

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

Дякую!


2
Думаю, PyCharm не піклується про ваш .bashrc, оскільки це конфігураційний файл, що стосується bash. Ви повинні встановити цю змінну або в PyCharm, або, наприклад,.profile
Byte Commander

Відповіді:


11

Як сказав у коментарі ByteCommander, PyCharm не використовує bashrc, тому не знає, де знаходиться ваша бібліотека.

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

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

Вам слід вибрати перекладача та натиснути на останню кнопку. Це має відкрити це вікно:

Конфігурація контурів перекладача

Тепер, натиснувши на значок плюс, ви зможете додати свої власні шляхи для бібліотек.


2
І це хороший приклад того, чому давати вказівки простіше за допомогою командного рядка, ніж графічні інтерфейси.
Хав'єр Рівера

Дякую. Це спосіб додати шляхи як для бінарних бібліотек, так і для модулів Python? Або повинні бути додані модулі Python до "вихідного кореня"?
Karnivaurus

1
І те й інше. Ви повинні використовувати вихідний корінь лише в тому випадку, якщо ви збираєтеся внести зміни до цих модулів (вам не потрібно буде потім додавати в початковий корінь для завершення, документації або 'збирання джерела' для роботи).
Хав'єр Рівера

5

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


Чи є спосіб змусити програми читати .bash_rc файл при запуску із запуску?
User007

0

Відкрийте наступний ярлик ( Ctrl+ Alt+ S) та натисніть (Проект: xxxx), тепер виберіть (Структура проекту) та виберіть ( /home/yourUser/PycharmProjects/XXXX/venv/bin) та клацніть правою кнопкою миші (Виключено) або ( Alt+ E).

Тепер натисніть (+ Додати корінь вмісту) і подивіться, чи вказує він на наступне місце ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) та натисніть кнопку ОК. Тепер закрийте IDE і відкрийте його знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.