我刚刚下载了wxPython,并且正在运行here中的一些示例程序。但是,在使用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安装很新。
答案 0 :(得分:40)
这发生在我身上。我已经安装了PyDev并对其进行了配置并继续我的快乐方式。几个月后,我安装了wxPython并遇到了同样的问题。一个简单的修复方法是在eclipse中:
窗口 - >偏好 - > Pydev - >口译员 - Python
只需删除默认解释器并添加一个新解释器(它可以与之前相同)。 Pydev / Eclipse搜索Python安装目录并为PYTHONPATH添加正确的路径。我重新开始,一切都很好。我注意到它添加了
C:\Python26\lib\site-packages\wx-2.8-msw-unicode
所以你可能只是将它添加到PYTHONPATH而不是完成上述所有操作,假设路径是安装此目录的地方。
顺便说一下,我正在使用:
但我认为这应该是解决问题的一般方法。
答案 1 :(得分:7)
PyDev在
中设置解释器时找到引用Window -> Preferences -> Pydev -> Interpreter - Python
如果首次设置解释器时wxPython不在您的site-packages目录中,则编辑器查找功能将不知道对wx对象和名称的引用。要解决此问题,请从
中删除解释器Window -> Preferences -> Pydev -> Interpreter - Python
然后选择新的。再次重新添加python安装,然后按apply。此时,Pydev将再次导入所有站点包对象,并应填充查找字典。您将需要重新启动Eclipse以进行更改。
答案 2 :(得分:3)
某些较新版本的pydev (大约在2010年1月) 很难跟踪导入的名称。它可能没什么。
如果仍然发生,请将错误报告给 aptana appcelerator,但毫无疑问他们已经知道了。
使用我刚刚下载的软件包时出现此问题,最终错误消失了。我最近的问题是在下载了pygame (大约在2010年1月) 之后。
修改强>
我已经修改了上面的答案,因为人们正在贬低它,我假设它是因为信息陈旧,或者因为appcelerator购买了aptana。我已经将Eclipse中的pydev用了将近2年,现在情况可能不同了。
答案 3 :(得分:3)
对错误文本使用CTRL+1
组合键,并在相应行的末尾添加#@UndefinedVariable
或#@UnresolvedImport
并显示错误,它会暂时删除这些警告。请参阅此答案:How do I fix PyDev "Undefined variable from import" errors?
答案 4 :(得分:3)
尝试
wx = wx
不要问为什么。这种方法(我试图在较小的部分中解决问题时发现)似乎只是删除了wx未定义的变量问题。
答案 5 :(得分:3)
#import wx
from wx import wx #@UnresolvedImport
将会修复。