2010-01-26 6 views
18

Ich habe gerade WxPython heruntergeladen und führte einige der Beispielprogramme von here. In jeder Zeile, die eine Variable aus wx. * Verwendet, erhalte ich jedoch eine "Undefinierte Variable aus Importfehler"Nicht definierte Variable aus dem Import bei Verwendung von WxPython in Pydev

Zum Beispiel erzeugt das folgende Programm fünf Fehler in den Zeilen 1,4,8 und zwei in Zeile 5 :

import wx 
class MyFrame(wx.Frame): 
    """ We simply derive a new class of Frame. """ 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent, title=title, size=(200,100)) 
     self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE) 
     self.Show(True) 
app = wx.App(False) 
frame = MyFrame(None, 'Small editor') 
app.MainLoop() 

Das Programm kompiliert jedoch und läuft perfekt. Ich habe keine wesentlichen Änderungen an Pydev oder Eclipse vorgenommen, und die Installation von wxPython ist neu.

+0

Ich habe das gleiche Problem. Gibt es eine Lösung für dieses Problem außer warten auf die Devolper, um es zu beheben? –

+0

Ich hatte das gleiche Problem und es ging weg, als ich auf PyDev 1.5.6 aktualisiert. –

Antwort

3

Einige der neueren Versionen von pydev (circa Januar 2010) haben eine harte Zeit nach unten importierten Namen zu verfolgen. Es ist wahrscheinlich nichts.

Wenn dies noch auftritt, melden Sie den Fehler zu aptana appcelerator, obwohl kein Zweifel, dass sie bereits darüber wissen.

Ich bekomme dieses Problem bei der Arbeit mit Paketen, die ich gerade erst heruntergeladen habe, und schließlich verschwinden die Fehler. Mein jüngstes Problem war nach dem Herunterladen von Pygame (ca. Januar 2010).

bearbeiten

Ich habe über meine Antwort geändert, da die Menschen es sind Downvoting, und ich nehme an, es ist, weil die Informationen veraltet ist, oder weil Appcelerator aptana gekauft. Ich habe Pydev mit Eclipse seit fast 2 Jahren nicht mehr benutzt und die Situation könnte jetzt anders sein.

+0

Ich glaube nicht, dass dies ein Fehler ist, obwohl es im Januar gewesen sein könnte. Siehe meine Antwort unten. – oob

+0

Mit Pydev 1.5.6.2010033101, hatte ich heute immer noch den Importfehler beim Versuch, networkx zum ersten Mal zu integrieren. Das Verfahren, das Sie in Ihrer Antwort erwähnt haben, ist das, was ich seit Januar 2010 benutze, um das Problem zu lösen. Gelegentlich war es einfach, Eclipse neu zu starten (z. B. mit pygame im Januar 2010), obwohl der Interpreter remove/add jedes Mal funktioniert. –

+0

Ich denke auch, ich erinnere mich, irgendwo auf der aptana-Seite eine Empfehlung gelesen zu haben, die unten aufgeführte remove/add-Methode als Lösung zu verwenden. –

3

Verwenden Sie CTRL+1 Tastenkombination auf Fehlertext und fügen Sie #@UndefinedVariable oder #@UnresolvedImport am Ende der entsprechenden Zeilen mit Fehlern, wird es diese Warnungen vorübergehend entfernen. Sehen Sie diese Antwort: How do I fix PyDev "Undefined variable from import" errors?

3

Versuchen

wx = wx

Sie nicht fragen, warum. Dieser Ansatz (den ich gefunden habe, als ich versuchte, das Problem in kleineren Teilen zu lösen) scheint nur das Problem der unbestimmten Variablen von wx zu beseitigen.

3
#import wx 
from wx import wx #@UnresolvedImport 

wird behoben.

40

Das ist mir passiert. Ich hatte PyDev installiert und konfiguriert und ging auf meinem fröhlichen Weg. Ein paar Monate später installierte ich wxPython und hatte das gleiche Problem. Eine einfache Möglichkeit ist zu beheben in Eclipse:

Window -> Einstellungen -> Pydev -> Interpreter - Python

einfach den Standard-Interpreter entfernen und eine neue hinzufügen (es kann die gleiche sein, die Sie vorher hatte) . Pydev/Eclipse durchsucht Ihr Python-Installationsverzeichnis und fügt Ihrem PYTHONPATH die richtigen Pfade hinzu. Ich habe neu angefangen und alles war gut.Ich bemerkte es

hinzugefügt
C:\Python26\lib\site-packages\wx-2.8-msw-unicode

So könnte man wohl nur, dass stattdessen die PYTHONPATH hinzufügen von durch all oben gehen, vorausgesetzt, dass Pfad, in dem das Verzeichnis installiert ist.

By the way, ich bin mit:

  1. Eclipse-Helios
  2. Pydev 1.6.2.2010090812
  3. Python 2.6
  4. wxPython2.8-win32-Unicode-2.8.11.0-py26

Aber ich denke, das sollte eine ziemlich allgemeine Lösung für das Problem sein.

+0

Prost! Hinweis für OsX: Das wxpython-Installationsprogramm legt wxpython offenbar an einem anderen Ort ab - nach dem Hinzufügen von "/usr/local/lib/wxPython-unicode-2.8.11.0/lib/python2.6/site-packages/wx-2.8-mac- Unicode "es funktionierte für mich – christianbrodbeck

+0

Dies ist der Weg zu gehen. – initzero

+0

+1 Arbeitete für mich mit PyDev 2.4.0 –

7

PyDev findet die Hinweise, wenn Sie das Setup der Dolmetscher in

Window -> Preferences -> Pydev -> Interpreter - Python 

Wenn WxPython war nicht in Ihrer Website-Pakete Verzeichnis beim ersten Einrichten der Dolmetscher, dann die Verweise auf die wx Objekte und Namen werden der Editor-Lookup-Funktion nicht bekannt sein. Um dies zu beheben, entfernen Sie den Interpreter von

Window -> Preferences -> Pydev -> Interpreter - Python 

und dann neu wählen. Fügen Sie die Python-Installation erneut hinzu und klicken Sie auf Anwenden. Zu diesem Zeitpunkt wird Pydev alle Site-Package-Objekte erneut importieren und das Lookup-Dictionary füllen. Sie sollten Eclipse neu starten, damit Änderungen vorgenommen werden können.

Verwandte Themen