2010-01-26 41 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才能进行更改。