在pydev中使用wxPython时导入的未定义变量

在pydev中使用wxPython时导入的未定义变量,python,eclipse,wxpython,pydev,Python,Eclipse,Wxpython,Pydev,我刚刚下载了wxPython,并从运行了一些示例程序。但是,在使用wx.*中变量的每一行上,我都会得到一个“未定义的导入错误变量” 例如,以下程序在第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__

我刚刚下载了wxPython,并从运行了一些示例程序。但是,在使用wx.*中变量的每一行上,我都会得到一个“未定义的导入错误变量”

例如,以下程序在第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安装是全新的。

pydev的一些较新版本(大约2010年1月)很难跟踪导入的名称。可能没什么

如果这种情况仍在发生,请向aptana报告错误,尽管毫无疑问他们已经知道了

我在使用最近下载的软件包时遇到了这个问题,最终错误消失了。我最近的问题是在下载pygame(大约2010年1月)之后

编辑


我已经修改了我上面的答案,因为人们对它投了反对票,我假设这是因为信息陈旧,或者是因为appcelerator购买了aptana。我已经有近2年没有在Eclipse中使用pydev了,现在情况可能不同了。

在错误文本上使用
CTRL+1
组合键,并在出现错误的对应行末尾添加
#@UndefinedVariable
#@UnsolvedImport
,它将临时删除这些警告。请参阅以下答案:

试试看

wx=wx

不要问为什么。这种方法(我在尝试将问题分解成更小的部分时发现的)似乎只是消除了wx未定义变量的问题

#import  wx 
from    wx import wx #@UnresolvedImport

会解决的。

这件事发生在我身上。我已经安装了PyDev并对其进行了配置,然后继续我的工作。几个月后,我安装了wxPython,遇到了同样的问题。eclipse中有一种简单的修复方法:

窗口->首选项->Pydev->解释器-Python

只需删除默认的解释器并添加一个新的解释器(它可以是您以前使用的解释器)。Pydev/Eclipse搜索Python安装目录,并将正确的路径添加到PYTHONPATH。我重新开始,一切都很好。我注意到它又加了一句

C:\Python26\lib\site-packages\wx-2.8-msw-unicode C:\Python26\lib\site packages\wx-2.8-msw-unicode 因此,您可能只需将其添加到PYTHONPATH中,而不必进行上述所有操作,假设路径就是安装此目录的位置

顺便说一下,我正在使用:

  • 日食太阳神
  • Pydev 1.6.2.2010090812
  • Python 2.6
  • wxPython2.8-win32-unicode-2.8.11.0-py26

  • 但我认为这应该是解决这个问题的一个相当普遍的方法。

    PyDev在中设置解释器时会找到引用

    如果首次设置解释器时wxPython不在site packages目录中,则编辑器查找函数将不知道对wx对象和名称的引用。要解决此问题,请从中删除解释器


    然后选择新建。重新添加python安装,然后按apply。此时,Pydev将再次导入所有站点包对象,并应填充查找字典。您需要重新启动Eclipse以进行更改。

    我认为这不是一个bug,尽管它可能是在一月份出现的。请参阅下面的答案。对于PyDev1.5.6.2010033101,今天我在第一次尝试包含networkx时仍然出现导入错误。您在回答中提到的程序是我自2010年1月以来一直在使用的解决问题的方法。偶尔简单地重新启动Eclipse已经足够了(例如,在2010年1月的pygame中),尽管解释器删除/添加每次都有效。此外,我记得我在aptana网站上的某个地方读到了使用下面列出的删除/添加方法作为解决方案的建议。干杯!OsX注意:wxpython安装程序显然将wxpython放在了不同的位置——在添加了“/usr/local/lib/wxpython-unicode-2.8.11.0/lib/python2.6/site packages/wx-2.8-mac-unicode”之后,“它对meWorks有效,但在我的系统上,当我几天后开始处理该项目时,问题再次出现。“N3nn”的“from wx import wx#@unsolvedport”解决方案效果最好。我也有同样的问题。除了等待devolpers修复这个问题之外,还有其他解决方案吗?我也有同样的问题,当我更新到PyDev 1.5.6时,它就消失了。
    Window -> Preferences -> Pydev -> Interpreter - Python
    
    Window -> Preferences -> Pydev -> Interpreter - Python