2016-04-29 2 views
2

Wie kann ich Intellij dazu bringen, ein eingebautes Objekt zu erkennen, das statisch mit dem Interpreter verbunden ist, wie sys? Wenn ich mache import sys daher bekomme ich keine Auto-Vervollständigung Features sys gibt es keine entsprechende .py Datei in site-packages. Und warum funktioniert das mit PyCharm, aber es funktioniert nicht mit IntelliJ?Intellij Unresolved Referenz für das integrierte Python-Modul (ie. Sys)

import sys 

def dump(module): 
    if module in sys.builtin_module_names: 
     print("<BUILTIN>") 
    else: 
     module = __import__(module) 
     print(module.__file__) 

dump("sys") 

Ausgang:

<BUILTIN>

Antwort

0

hatte ich ein ähnliches Problem (IntelliJ nicht integrierte Funktionen wie all erkennen), und Ihre Frage gefunden.

Ich konnte es jedoch selbst lösen: müssen Sie das Python SDK für Ihr IntelliJ Projekt konfigurieren. Dies ist unter Datei> Projektstruktur> Facetten> Python. Wenn die Dropdown-Liste "Python-Interpreter" leer ist, können Sie eine über die Schaltfläche "..." hinzufügen, wodurch ein Dialogfeld "SDKs konfigurieren" geöffnet wird.

Normalerweise sollte dies Java SDKs auf Ihrem Computer vorhanden sein, aber Sie können auch einen Python-Interpreter (oder mehrere) hinzufügen, mit der Schaltfläche "+". Sie navigieren dann über ein Dateimenü zum Python-Interpreter Ihres Systems (oder wählen Sie einen speziell installierten Interpreter).

Nachdem Sie im Dialogfeld und in den Einstellungen auf "OK" geklickt haben, werden integrierte Funktionen erkannt, und ich habe überprüft, dass die sys-Funktionen auch automatisch ausgeführt werden.

Ich würde sagen, dass dies für Pycharm out of the box funktioniert, da mindestens ein Python-Interpreter in der Projektstruktur deklariert ist, während in Idea mit Python als Plugin nicht: ein Java SDK deklariert ist die einzige Voraussetzung für ein Arbeitsprojekt.

Verwandte Themen