Плагин IntelliJ Python & Run classpath
У меня есть проект, расположенный в /home/myself/workspace/Project 1, для которого я создал SDK из Python 2.7.3 Virtualenv. У меня есть настройка.
В этом проекте используется некоторый внешний код, который у меня есть в доступном каталоге, например./Главная/себе/БИБЛИОТЕКА; этот каталог содержит несколько каталогов с кодом, документами и т.д....
Например, есть модуль "important_util", расположенный по адресу /home/myself/LIBRARY/mymodule/important _util.py.
Теперь я добавил весь каталог dir/home/myself/LIBRARY в SDK Classpath, а в окне редактора он выглядит просто отлично. Импорт и вызовы распознаются, и я также могу перемещаться по коду в каталогах LIBRARY.
Проблема в том, что когда я пытаюсь запустить свою программу, она не работает при первом импорте с использованием LIBRARY!!!
Traceback (most recent call last):
File "/home/myself/workspace/Project1/my_program.py", line 10, in <module>
from mymodule import important_util as ut
ImportError: No module named mymodule
Я также попытался добавить те же самые каталоги в раздел "Глобальные библиотеки" в разделе "Источники"... но не повезло.
Кажется, я не могу найти способ добавить этот код к пути класса Run, как бы я мог это сделать?
Ответы
Ответ 1
Убедитесь, что у вас есть __init__.py
в каталоге mymodule
:
Файлы __init__.py
необходимы, чтобы Python рассматривал каталоги как содержащие пакеты; это делается для предотвращения каталоги с общим именем, например строка, непреднамеренно скрывая действующие модули, которые появляются позже на пути поиска модуля. В простейший случай __init__.py
может быть просто пустым файлом, но он может также выполнить код инициализации для пакета или установить __all__
переменная, описанная ниже. & copy;
UPDATE. В IntelliJ IDEA дополнительные каталоги должны быть добавлены как Зависимости модулей или настроены как Libraries
(для добавления в Зависимости) вместо вкладки Classpath
Python SDK:
![Dependencies]()
Я проверил, что эта папка (D:\dev\lib
) добавлена в PYTHONPATH
, и импорт работает.
Ответ 2
В IntelliJ 14 это немного отличается, вы являетесь модулями/яйцами вроде:
- Перейти к файлу → Структура проекта
- Теперь выберите "Модули", а затем вкладку "Зависимости"
- Нажмите значок "+" и выберите "Библиотека"
- Нажмите "Новая библиотека" и выберите Java (я знаю, что это странно...)
- Теперь выберите несколько модулей/яйцо и "ОК".
- Выберите "Классы" из категорий.
- Дайте вашей новой библиотеке имя "My Python, а не библиотека Java"
- И, наконец, нажмите "Добавить выбранный"
Ответ 3
Из версии 2017.1 добавление было изменено снова. Структура файла в меню файла отсутствует. Запись текущей процедуры вниз:
-
Перейдите в раздел "Предпочтения/Настройки". Файл → Настройки (имя IDE → Предпочтения для macOS)
-
Выберите Сборка, выполнение, развертывание
![введите описание изображения здесь]()
-
Выберите Python Interpreter
-
Выберите в раскрывающемся меню интерпретатор проекта и выберите путь к пути версии Python, требуемого для проекта.
![введите описание изображения здесь]()
- Нажмите "Применить" и подождите несколько минут, чтобы IntelliJ проиндексировал пакеты python.
Теперь все ошибки должны исчезнуть, и вы должны увидеть Python, используемые в проекте, в списке внешних библиотек.
![введите описание изображения здесь]()
Счастливое кодирование.