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

2024-10-02 02:38:20 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


Tags: importself程序app示例heretitleinit
3条回答

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

如果这是仍然正在发生的,请将该错误报告给aptanaappcelerator,尽管毫无疑问他们已经知道了。

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

编辑

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

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

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

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

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

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

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

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

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

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

因此,您可能只需将其添加到PYTHONPATH,而不必进行以上所有操作,假设路径是安装此目录的位置。

顺便说一下,我用的是:

  1. 日食赫利俄斯
  2. Pydev 1.6.2.2010090812号
  3. Python2.6
  4. wxPython2.8-win32-unicode-2.8.11.0-py26

但我认为这应该是一个非常普遍的解决问题的办法。

相关问题 更多 >

    热门问题