2010-01-26 43 views
18

我剛剛下載了wxPython,並正在運行here的一些示例程序。但是,在使用wx。*的變量的每一行上,都會得到一個「來自導入錯誤的未定義變量」在pydev中使用wxPython導入未定義的變量

例如,以下程序會在行1,4,8上生成五個錯誤,並在行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() 

然而,該程序編譯和運行完美。我沒有對pydev或eclipse做任何重大的修改,而wxPython的安裝是新鮮的。

+0

我遇到同樣的問題。除了等待devolpers解決它之外,是否還有解決這個問題的解決方案? – 2010-03-19 09:50:22

+0

我有同樣的問題,當我更新到PyDev 1.5.6時它就消失了。 – 2010-04-08 12:09:39

回答

3

某些較新版本的pydev (大約2010年1月)很難追蹤導入的名稱。這可能不算什麼。

如果這是仍然發生,報告錯誤,以 集錦 appcelerator,但毫無疑問,他們已經知道了這件事。

我使用最近下載的軟件包時出現此問題,最終錯誤消失。我最近的問題是下載pygame後(大約在2010年1月)

編輯

我已經修改了我的答案,因爲以上的人都downvoting它,我假定這是因爲信息是過時的,或者是因爲Appcelerator的買集錦。近2年來我沒有在Eclipse上使用pydev,現在情況可能會有所不同。

+0

我不認爲這是一個錯誤,雖然它可能在一月份。請參閱下面的答案。 – oob 2010-09-18 23:01:47

+0

使用pydev 1.5.6.2010033101,今天我第一次嘗試包含networkx時仍然存在導入錯誤。您在答覆中提到的程序是自2010年1月以來我一直在使用的方法來解決問題。有時候重新啓動Eclipse已經足夠了(例如2010年1月重新啓動pygame),儘管解釋器每次都會刪除/添加。 – 2010-09-30 14:25:47

+0

另外,我想我記得在aptana網站上的某個地方閱讀建議使用下面列出的刪除/添加方法作爲解決方案。 – 2010-09-30 14:27:15

3

嘗試

WX = WX

不要問爲什麼。這種方法(我試圖在較小的部分中解決問題時發現)似乎刪除了wx未定義的變量問題。

3
#import wx 
from wx import wx #@UnresolvedImport 

會解決。

40

這發生在我身上。我安裝了PyDev並進行了配置,然後繼續我的快樂之旅。幾個月後,我安裝了wxPython並且遇到了同樣的問題。一個簡單的方法來解決是Eclipse:

窗口 - >首選項 - > Pydev的 - >解釋器 - Python的

只是刪除默認的解釋,並添加一個新的(也可以是你之前有一個相同) 。 Pydev/Eclipse搜索您的Python安裝目錄並將正確的路徑添加到您的PYTHONPATH中。我重新開始,一切都很好。我注意到它添加

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

那麼你很可能只是添加到PYTHONPATH,而不是通過以上所有準備,假設路徑是安裝在此目錄下。

順便說一句,我使用:

  1. Eclipse的赫利俄斯
  2. Pydev的1.6.2.2010090812
  3. 的Python 2.6
  4. wxPython2.8-Win32的Unicode的2.8.11.0-py26

但我認爲這應該是一個相當普遍的問題解決方案。

+0

乾杯!注意OsX:wxpython安裝程序顯然會將wxpython放在不同的位置 - 在添加「/usr/local/lib/wxPython-unicode-2.8.11.0/lib/python2.6/site-packages/wx-2.8-mac- unicode「它爲我工作 – christianbrodbeck 2010-10-16 21:15:16

+0

這是要走的路。 – initzero 2011-05-01 01:08:48

+0

+1爲我工作運行PyDev 2.4.0 – 2012-04-18 08:34:58

7

PyDev的發現參考,當你設置在

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

解釋如果wxPython的是不是在你的站點包目錄時,你首先要設置好解釋,然後到WX對象的引用和編輯器查找功能不會知道名稱。爲了解決這個問題,從

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

刪除解釋,然後選擇新的。重新添加python安裝並按下apply。此時,Pydev會再次導入所有網站包對象,並且應該填充查找字典。您需要重新啓動Eclipse才能進行更改。