Як змусити IntelliJ розпізнавати загальні модулі Python?


198

Я використовую IntelliJ 10 IDEA Ultimate Edition.

Я створив новий файл Test.py, і IntelliJ правильно перейшов у режим розбору Python. (Я можу підтвердити це, ввівши "d", він з'являється "def" як пропозиція, і натискання вкладки правильно дає мені "def:")

Однак, коли я спробую цей код ...

import os

cwd = os.getcw <Ctrl-space>

Дві речі трапляються….

  1. Я отримую плавно підкреслене під os і наведення курсора на нього дає мені повідомлення "Невирішене посилання" os "
  2. Я не отримую пропозицій потрапляти у Ctrl-пробіл нагорі, коли очікую побачити "getcwd".

Я припускаю, що це повинно бути результатом мого неправильного налаштування IntelliJ для роботи з модулями python, але я поняття не маю, чого це мені не вистачає.

Будь-які користувачі IntelliJ / Python можуть допомогти мені?

Відповіді:


208

Просто створіть і додайте Python SDK

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

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

Пов'язане обговорення: http://devnet.jetbrains.net/thread/286883


6
Досі правда сьогодні. OSX - / usr / bin / python
ThinkBonobo

2
Сьогодні на OSX El Capitan я використав цю пораду (спасибі!); FWIW, інтерпретатори python (у мене було встановлено 2.6 та 2.7) /Library, але IntelliJ знайшов їх відмінно, коли я створив virtualenv.
Dawngerpony

20
Зробив це, жодних змін.
OrangeDog

5
Для Mac з встановленою домашньою версією Python (доцільно для El Capitan і далі через обмеження системних каталогів) ви хочете /usr/local/bin/python.
Dawngerpony

На додаток до цього, мені також довелося встановити фасетку (див. Відповідь нижче від @linuts)
Janac Meena

134

Ви встановили грань інтерпретатора пітона?

Відкрита структура проекту 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


1
v12.1.4 Немає параметрів меню Налаштування проекту> Грані, але рішення @ db42 працювало у
пригоді

Я створив фасетку, і це не спрацювало, ваша відповідь була рішенням !! дивовижно! :)
Родіслав Молдован

Незвичайно. Я не знаю, що це за фасет, тому я подивився його, і на нижній сторінці не відображається пітон як доступний фасет. jetbrains.com/idea/help/…
netskink

1
IntelliJ IDEA 14 Ultimate має цю особливість, і вона працювала ідеально, не порушуючи виявлення мого модуля Java, як це робила відповідь db42.
Патрік М

після цього він навіть не показує пропозицій щодо вбудованих модулів, до яких раніше він був
Бхарат

75

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

File -> Invalidate Caches/Restart

2
Після додавання віртуальної env ще 5 разів це допомогло виправити це за допомогою IDEA 2016.2.1
dlite922

Це було вирішено проблемою для мене після додавання віртуальної програми.
Андреа Бергонцо

Я виявив, що вихід і перезапуск IntelliJ виправили це для мене, я думаю, що це те саме, але
drevicko

18

Ось що я мав зробити. (І я, мабуть, забув важливий аспект моєї проблеми, який полягає в тому, що це було створено не як проект Python, а проект Java з деякими файлами python.)

Налаштування проекту -> Модулі -> Кнопка плюс (додавання модуля) -> Python

Потім натисніть кнопку "..." поруч із Інтерпретатором Python.

У діалоговому вікні "Налаштувати SDK", що з'явиться, натисніть кнопку "+". Виберіть "Python SDK", а потім виберіть ярлик "Python" за замовчуванням, який відображається в діалоговому вікні мого пошуку

Зачекайте близько 5 хвилин. Прочитайте кілька порад щодо підвищення продуктивності. :)

Клацніть Гаразд

Зачекайте, коли система відновить деякі індекси.

Ура! Натяк на код повернувся до моїх модулів!


2
"Зачекайте близько 5 хвилин. Прочитайте кілька порад щодо підвищення продуктивності." приголомшливий
Кірбі

Це, очевидно, вирішило мої проблеми (також мій проект спочатку був створений як проект Java)
Андреа Бергонцо

5

Ще одне можливе виправлення (вирішило мою проблему)

Можливо, ви налаштували навколишнє середовище належним чином, але чомусь воно порушилось на шляху. У цьому випадку перейдіть до:

file > project settings > modules

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

Цілком ймовірно, що ваш раніше працюючий SDK теж є, але не червоний. Видаліть його.

Тепер ви можете натиснути на newкнопку і додати свій улюблений віртуалент python. І це має працювати зараз.


3

Кілька кроків, які мені допомогли (деякі з них згадані вище):

Відкрити структуру проекту:

команда +; (користувачі Mac) АБО клацніть правою кнопкою миші на проекті ->Відкрити налаштування модуля

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

Клацніть OK.

Відкрийте Конфігурації запуску / налагодження: Запустіть ->редагування конфігурацій

  1. Перекладач Python -><переконайтесь, що він правильний>

Клацніть OK.


1

Ось як я вирішив свою проблему (я імпортував проект, і він там показувався, тільки що створені файли не показували цих помилок):

1) Command + alt + R (керування у випадку вікон

2) З'явиться вікно налагодження, виберіть файл і натисніть стрілку вправо (->) і виберіть Редагувати, потім натисніть клавішу Enter (з'явиться вікно редагування налаштувань конфігурації)

3) У конфігурації внизу ви бачите помилку (будь-ласка, виберіть модуль з дійсним sdk python). Отже, в інтерпретаторі Python встановіть прапорець Використовувати вказаний інтерпретатор, а потім в спадному меню виберіть версію Python

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

4) Клацніть на застосувати та закрийте.

Бінго це зроблено.


0

Використовуйте файл вимог (див. Посилання на документацію JetBrains)

У моєму випадку мені це було потрібно arrow. Отже, я додав

arrow==0.7.0

до моїх проектів requirements.txt

Тоді Intellij запропонував мені додати бібліотеку вперше, яку я написав import arrowсценарієм Python


0

Моя проблема була схожа на @Toddarooski 's, за винятком того, що в модулі, який я мав, на вкладці "Залежності" не було вказано SDK. Я правою кнопкою миші натиснув "SDK", вибрав редагування у спадному меню та вибрав мій SDK Python. Це зробило трюк.


0

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

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

Це після того, як я визнав недійсним кеш і перезапустив.


0

Навіть мій Intellisense в PyCharm не працює для модулів , як раз проблема в моїй системі не була Інтерпретатор був обраний Перейти до Файл -> Налаштування ... (Ctrl + Alt + S) Відкрити Перекладач проекту

Інтерпретатор проекту У моєму випадкубуло обрано. Я вибрав доступний інтерпретатор пітона. Якщо немає, можна додати нового перекладача.

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