2014-05-15 2 views
18

Die folgende Zeile in PyCharm wird durch eine On-the-Fly-Inspektion mit nicht aufgelösten Referenzfehlern für jeden Import gekennzeichnet. (Sie sind rot unterstrichen.)Warum gibt PyCharm bei einigen Numpy-Importen ungelöste Referenzfehler?

from numpy import tan, arcsin, arccos, arctan 

jedoch die folgenden Einfuhren verursachen keine Fehler/Warnung:

from numpy import sin, cos, arctan2, sqrt, cross, pi 

Der Code, in dem ich diese Importe verwenden läuft gut ohne Fehler oder Warnungen. Ich verlasse mich generell auf die roten Fehler von PyCharm als Warnung, dass mein Code kaputt ist und nicht läuft, aber in diesem Fall ist PyCharm falsch.

Warum werden einige Funktionen von numpy von PyCharms Introspektion und anderen nicht erkannt?

Aktuelle Versionen:

  • Windows 7 64-Bit
  • Python 2.7.5
  • PyCharm 3.1.2
  • Numpy 1,8

Dank!

+1

Wenn es läuft, würde ich nicht zu viel Sorgen darüber, bekomme ich es von Zeit zu Zeit, wenn es Sie nur den Cursor über sie setzen stört und drücken Alt + Enter dann „nicht aufgelösten Verweis ignorieren“ Pick –

Antwort

17

Der Grund, warum Sie dies bekommen, ist wegen der statischen Analyse von PyCharm. Nun, was Python macht, benutzt statische Skelette (einige sind vorgeneriert und einige werden erzeugt), um Ihnen die Analyse zu geben. Werfen Sie einen Blick auf die vorab generierte Skelette hier ->https://github.com/JetBrains/python-skeletons

Dies könnte gelöst werden, indem es die folgenden:

enter image description here

Wenn jedoch das nicht funktioniert:

enter image description here

, die den Fehler blockieren wird, wird es als ein Kommentar oberhalb der Zeile angezeigt.

+9

-1 nicht erwähnen, wo die Einstellung gefunden werden kann. Gehe zu Datei -> Einstellungen -> Build, Ausführung, Deployment -> Python Debugger – uzumaki

+0

Diese Option hat eine unglaubliche Handbremse auf den Debugger gelegt :-(. Ich musste nur zu den ursprünglichen Einstellungen zurückkehren. – salvu

+0

Für Mac, PyCharm -> Einstellungen -> Erstellen, Ausführen, Deployment -> Python Debugger –

5

Die folgende hilft oft falsch-positive unaufgelösten Referenzen

File | Invalidate Caches 
+1

Danke, habe schon eine Weile versucht, dies zu beheben und Ihre Lösung hat mir schließlich gesagt, wie. Ich habe keine Ahnung, warum irgendjemand es abwerten würde. – HarryFromMarydelDE

+0

In meinem Fall hatte ich ein Repository im selben Verzeichnis zerstört und neu geklont, als ich PyCharm hatte. Ich denke, das könnte ein Problem mit den Caches verursacht haben. Diese Lösung scheint, als wäre es am besten geeignet (und es funktionierte wie ein Charme). Vielen Dank. – Marc

6

Die Python-Konfiguration wird angegeben in (mindestens) zwei Stellen zu lösen: Run | Edit Configurations | Python | Python Interpreter und File | Settings | Project | Project Interpreter. Mein Fehler war, dass ich die korrekte Python-Installation nicht in File | Settings ... eingestellt habe. Daher bezog es sich auf eine Python-Konfiguration, bei der der Import nicht installiert war (z. B. NumPy).

Nachdem ich diese beiden Standorte auf die gleiche, korrekte Python-Installation zeigen, habe ich eine File | Invalidate Caches/Restart, dann war es in Ordnung.

+0

Arbeitete wie ein Charme in IntelliJ! TY :) – RobMcZag