Как получить IntelliJ для распознавания общих модулей Python?

Я использую IntelliJ 10 IDEA Ultimate Edition.

Я создал новый файл Test.py, и IntelliJ правильно переключился на режим разбора Python. (Я могу подтвердить это, набрав "d", он всплывает "def" в качестве предложения, и правильно набрав вкладку дает мне "def:" )

Однако, когда я пытаюсь использовать этот код...

import os

cwd = os.getcw <Ctrl-space>

Две вещи случаются....

  • Я получаю подчеркнутое выражение под os и зависающее над ним, дает мне сообщение "Unresolved reference 'os'"
  • У меня нет предложений, которые нажимают Ctrl-space выше, когда я ожидаю увидеть "getcwd".

Я предполагаю, что это должно быть результатом того, что я неправильно настраивал IntelliJ, чтобы обрабатывать модули python, но я понятия не имею, что мне не хватает.

Любые пользователи IntelliJ/Python, способные помочь мне?

Ответ 1

Просто создайте и добавьте SDK Python

File -> Project Structure -> Project -> Project SDK -> new

и выберите путь установки вашего интерпретатора Python (для пример C:\Python26 в windows и /usr/bin/python2.7 в Linux) в качестве исходного пути.

Связанное обсуждение: http://devnet.jetbrains.net/thread/286883

Ответ 2

Установили ли вы фасет интерпретатора python?

Открыть структуру проекта CTRL + ALT + SHIFT + S

Project settings -> Facets -> expand Python click on child -> Python Interpreter

Тогда:

Project settings -> Modules -> Expand module -> Python -> Dependencies -> select Python module SDK

Ответ 3

Если ваш SDK Python настроен правильно, и вы все еще сталкиваетесь с проблемой, что встроенные функции не распознаются, попробуйте следующее:

File -> Invalidate Caches/Restart

Ответ 4

Вот что я должен был сделать. (И я, вероятно, забыл о важном аспекте моей проблемы, а именно, что он не был первоначально создан как проект Python, а проект Java с некоторыми файлами python в них.)

Настройки проекта → Модули → Кнопка плюс (добавить модуль) → Python

Затем нажмите кнопку "..." рядом с интерпретатором Python.

В появившемся диалоговом окне "Настройка SDK" нажмите кнопку "+". Выберите "Python SDK", затем выберите ярлык "Python" по умолчанию, который появляется в диалоговом окне поиска

Подождите около 5 минут. Прочтите некоторые советы по производительности.:)

Нажмите Ok

Подождите, пока система перестроит некоторые индексы.

Ура! Подсказка кода вернулась для моих модулей!

Ответ 5

Еще одно возможное решение (решена моя проблема)

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

file > project settings > modules

Разверните список SDK и найдите красную строку с [invalid] в конце. Если вы его нашли, вам нужно воссоздать sdk python.

Скорее всего, ваш ранее работающий SDK тоже есть, но не красный. Удали это.

Теперь вы можете нажать на new кнопку и добавить свой любимый python virtualenv. И теперь он должен работать.

Ответ 6

Вот как я решил свою проблему (я импортировал проект и показывал его только, только что созданные файлы не отображали эти ошибки):

1) Команда + alt + R (Управление в случае окон

2) Появится окно отладки, выберите ваш файл и нажмите стрелку вправо (- > ) и выберите "Правка", затем нажмите "Enter" (появится окно редактирования настройки)

3) В нижней части экрана вы можете увидеть ошибку (пожалуйста, выберите модуль с действительным sdk python). Итак, в Python Interpreter проверьте Use Specified Interpreter, затем в раскрывающемся списке вы выберите свою версию Python

(В случае, если python не загружает плагин python для intelliJ, используя следующую ссылку https://www.jetbrains.com/help/idea/2016.3/installing-updating-and-uninstalling-repository-plugins.html

4) Нажмите "Применить", затем закройте его.

Бинго это сделано.

Ответ 7

Используйте Файл требований (см. ссылку на документацию JetBrains)

В моем случае мне понадобилось arrow. Итак, я добавил

arrow==0.7.0

для моих проектов requirements.txt

Затем Intellij попросил меня добавить библиотеку в первый раз, когда я написал import arrow в Python script

Ответ 8

Моя проблема была похожа на @Toddarooski, за исключением того, что модуль, который у меня был, на вкладке "Зависимости" не содержал SDK. Я нажал правой кнопкой мыши на "SDK", выбрал редактирование в раскрывающемся меню и выбрал свой SDK Python. Это сделало трюк.

Ответ 9

Несколько шагов, которые помогли мне (некоторые из них упомянуты выше):

Открыть структуру проекта:

команда +; (пользователи Mac) ИЛИ щелкните правой кнопкой мыши по проекту -> Открыть настройки модуля

  1. Границы -> + -> Python -> <ваш-проект> -> ОК
  2. Модули -> Python -> <select python interpreter>
  3. Project -> Project SDK -> <выбрать соответствующий SDK>
  4. SDK -> <убедитесь, что он правильный>

Нажмите " OK.

Откройте "Run/Debug Configurations" с помощью: Run -> Edit Configurations

  1. Python Interpreter -> <убедитесь, что он правильный>

Нажмите " OK.

Ответ 10

Я получил его для работы после того, как я отключил следующие параметры в конфигурациях Run/Debug для main.py

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

Это происходит после того, как я сделал недействительным кеш и перезапустил.

Ответ 11

Даже мой Intellisense в Pycharm не работал для таких модулей, как время. В моей системе не было ни одного переводчика. Выберите " Файл" → " Настройки" (Ctrl + Alt + S). Откройте " Интерпретатор проекта".

Переводчик проекта в моем случае был выбран. Я выбрал доступного интерпретатора Python. Если нет в наличии, вы можете добавить нового переводчика.