Jak sprawić, by IntelliJ rozpoznał popularne moduły Pythona?


198

Używam IntelliJ 10 IDEA Ultimate Edition.

Utworzyłem nowy plik Test.py, a IntelliJ poprawnie przełączył się do trybu analizy Pythona. (Mogę to potwierdzić, wpisując „d”, pojawia się jako „def” jako sugestia, a prawidłowe naciśnięcie karty daje mi „def:”)

Jednak gdy próbuję tego kodu ...

import os

cwd = os.getcw <Ctrl-space>

Stają się dwie rzeczy ...

  1. Dostrzegam zwięzłe podkreślenie pod osą, a po najechaniu na niego pojawia się komunikat „Nierozpoznany odnośnik”
  2. Nie dostaję żadnych sugestii dotyczących Ctrl-spacja powyżej, gdy spodziewam się zobaczyć „getcwd”.

Zakładam, że musi to wynikać z mojej niepoprawnej konfiguracji IntelliJ, aby obsługiwać moduły python, ale nie mam pojęcia, czego brakuje.

Jakiś użytkownik IntelliJ / Python może mi pomóc?

Odpowiedzi:


208

Wystarczy utworzyć i dodać zestaw SDK Python

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

i wybierz ścieżkę instalacji interpretera języka Python (na przykład w systemie C:\Python26Windows i /usr/bin/python2.7Linux) jako ścieżkę główną.

Powiązana dyskusja: http://devnet.jetbrains.net/thread/286883


6
Nadal prawda dzisiaj. OSX - / usr / bin / python
ThinkBonobo

2
Dzisiaj na OSX El Capitan skorzystałem z tej wskazówki (dzięki!); FWIW, interpretery Pythona (miałem zainstalowane 2.6 i 2.7) były włączone, /Libraryale IntelliJ znalazł je w porządku, kiedy stworzyłem virtualenv.
Dawngerpony 27.04.16

20
Zrobione bez zmian.
OrangeDog

5
Na Maca z zainstalowaną homebrew wersją Pythona (wskazane dla El Capitan i nie tylko ze względu na ograniczenia katalogów systemowych), chcesz /usr/local/bin/python.
Dawngerpony

Oprócz tego musiałem również skonfigurować aspekt (patrz odpowiedź poniżej przez @linuts)
Janac Meena

134

Czy skonfigurowałeś aspekt interpretera python?

Otwórz strukturę projektu CTRL+ ALT+ SHIFT+S

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

Następnie:

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


1
v12.1.4 Nie ma opcji menu Ustawienia projektu> Aspekty, ale rozwiązanie @ db42 działało
Trindaz,

Stworzyłem aspekt, ale to nie zadziałało, twoją odpowiedzią było rozwiązanie !! wspaniały! :)
Rodislav Moldovan

Dziwny. Nie wiem, co to jest aspekt, więc sprawdziłem go, a poniższa strona nie pokazuje Pythona jako dostępnego aspektu. jetbrains.com/idea/help/…
netskink 17.04.15

1
IntelliJ IDEA 14 Ultimate ma tę funkcję i działał idealnie, nie przerywając wykrywania modułu Java, tak jak zrobiła to odpowiedź db42.
Patrick M,

po wykonaniu tej czynności nie wyświetla nawet sugestii dotyczących wbudowanych modułów, w których wcześniej był
Bharat

75

Jeśli Twój zestaw SDK Python jest poprawnie skonfigurowany i nadal występuje problem z nierozpoznaniem wbudowanych funkcji, spróbuj wykonać następujące czynności:

File -> Invalidate Caches/Restart

2
Po dodaniu wirtualnej env 5 razy, pomogło mi to naprawić w IDEA 2016.2.1
dlite922

Zostało to naprawione dla mnie po dodaniu wirtualnej env.
Andrea Bergonzo


18

Oto co musiałem zrobić. (I prawdopodobnie zapomniałem ważnego aspektu mojego problemu, że nie był on pierwotnie skonfigurowany jako projekt Python, ale projekt Java, z niektórymi plikami Python).

Ustawienia projektu -> Moduły -> przycisk Plus (dodaj moduł) -> Python

Następnie kliknij przycisk „...” obok Tłumacza Python.

W wyświetlonym oknie dialogowym „Konfiguruj zestaw SDK” kliknij przycisk „+”. Wybierz „Python SDK”, a następnie wybierz domyślny skrót „Python”, który pojawia się w oknie dialogowym wyszukiwarki

Poczekaj około 5 minut. Przeczytaj kilka wskazówek dotyczących wydajności. :)

Kliknij OK

Poczekaj, aż system odbuduje niektóre indeksy.

Brawo! Podpowiedzi do kodu wróciły do ​​moich modułów!


2
„Poczekaj około 5 minut. Przeczytaj kilka wskazówek dotyczących wydajności”. niesamowite
Kirby 18.04.16

To najwyraźniej rozwiązało moje problemy (również mój projekt został początkowo stworzony jako projekt Java)
Andrea Bergonzo

5

Kolejna możliwa poprawka (rozwiązała mój problem)

Być może środowisko zostało poprawnie skonfigurowane, ale z jakiegoś powodu zepsuło się po drodze. W takim przypadku przejdź do:

file > project settings > modules

Wdróż listę zestawów SDK i poszukaj czerwonej linii [invalid]na końcu. Jeśli go znajdziesz, musisz ponownie utworzyć sdk Pythona.

Prawdopodobnie jest tam również poprzednio działający zestaw SDK, ale nie czerwony. Usuń to.

Teraz możesz kliknąć newprzycisk i dodać swój ulubiony wirtualny python. I powinno już działać.


3

Kilka kroków, które mi pomogły (niektóre z nich są wymienione powyżej):

Otwórz strukturę projektu przez:

Command +; (użytkownicy komputerów Mac) LUB kliknij prawym przyciskiem myszy projekt ->Otwórz ustawienia modułu

  1. Aspekty ->+ ->Python ->< twój- projekt>-> OK
  2. Moduły ->Python-> <wybierz interpreter python>
  3. Zestaw ->SDK projektu-> <wybierz odpowiedni SDK>
  4. SDK -><upewnij się, że jest to właściwy>

Kliknij OK.

Otwórz Konfiguracje uruchamiania / debugowania przez: Uruchom ->edycję konfiguracji

  1. Python Interpreter -><upewnij się, że jest właściwy>

Kliknij OK.


1

W ten sposób rozwiązałem mój problem (zaimportowałem projekt i pokazywał się tam tylko, nowo utworzone pliki nie wyświetlały tych błędów):

1) Command + alt + R (Kontrola w przypadku okien

2) Pojawi się okno debugowania, wybierz plik i naciśnij strzałkę w prawo (->) i wybierz Edytuj, a następnie naciśnij enter (pojawi się okno Edytuj ustawienia konfiguracji)

3) W trakcie konfiguracji u dołu widoczny jest błąd (wybierz moduł z poprawnym sdk Pythona), więc w Pythonie Interpreter zaznacz opcję Użyj określonego interpretera, a następnie w rozwijanej wybierz wersję Pythona

(W przypadku, gdy nie ma tam Pythona, pobierz wtyczkę Pythona dla intelliJ, używając następującego linku https://www.jetbrains.com/help/idea/2016.3/installing-updating-and-uninstalling-repository-plugins.html

4) Kliknij Zastosuj, a następnie Zamknij.

Bingo jest gotowe.


0

Użyj pliku wymagań (patrz link do dokumentacji JetBrains)

W moim przypadku potrzebowałem arrow. Więc dodałem

arrow==0.7.0

do moich projektów requirements.txt

Następnie Intellij poprosił mnie o dodanie biblioteki za pierwszym razem, gdy napisałem import arroww skrypcie Python


0

Mój problem był podobny do @Toddarooski, z tym wyjątkiem, że moduł, który miałem, w zakładce „Zależności”, nie zawierał żadnego zestawu SDK. Kliknąłem prawym przyciskiem myszy na „SDK”, wybrałem edycję z rozwijanego menu i wybrałem mój zestaw SDK do Pythona. To załatwiło sprawę.


0

Uruchomiłem go po odznaczeniu następujących opcji w konfiguracjach uruchamiania / debugowania dla main.py

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

Dzieje się tak po tym, jak unieważniłem pamięć podręczną i uruchomiłem ponownie.


0

Nawet mój Intellisense w Pycharmie nie działał dla modułów takich jak czas Problem w moim systemie nie był wybrany Interpreter Przejdź do Plik -> Ustawienia ... (Ctrl + Alt + S) Otwórz projekt Interpretera

Interpreter projektu W moim przypadkuzostał wybrany. Wybrałem dostępny interpreter Pythona. Jeśli nie jest dostępny, możesz dodać nowego tłumacza.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.