Import 名称错误:全局名称';gtk&x27;没有定义

Import 名称错误:全局名称';gtk&x27;没有定义,import,pygtk,nameerror,Import,Pygtk,Nameerror,我注意到“gtk”没有定义,我无法理解它的含义,尽管我在运行PYGTK时设法导入了它。代码如下: import sys importStatus = False try: from gtk import * importStatus = True except ImportError: print "PyGTK module does not exist. Can't launch GUI !" print "Please download and inst

我注意到“gtk”没有定义,我无法理解它的含义,尽管我在运行PYGTK时设法导入了它。代码如下:

import sys

importStatus = False

try:
    from gtk import *
    importStatus = True

except ImportError:
    print "PyGTK module does not exist. Can't launch GUI !"
    print "Please download and install GTK and PyGTK."
    importStatus = False

if importStatus:

    class gtkGUI():

        def __init__(self):
            print "gtkGUI imported"

        def startGUI(self):
            print "GUI Started"
            self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
            return None
以下是错误:

Traceback (most recent call last):
  File "mainGUI.py", line 14, in <module>
    gtk.startGUI()
  File "..../gtkGUI.py", line 25, in startGUI
    gtk.main()
NameError: global name 'gtk' is not defined
回溯(最近一次呼叫最后一次):
文件“mainGUI.py”,第14行,在
gtk.startGUI()
文件“…/gtkGUI.py”,第25行,在startGUI中
gtk.main()
NameError:未定义全局名称“gtk”

我应该如何解决这个错误?谢谢。

您需要在使用PyGTK的系统上安装GTK。通常,PyGTK的导入如下所示:

import pygtk
pygtk.require('2.0')
import gtk

如果查看,您会看到对安装GTK+的引用。确保您做到了这一点(我认为您应该在安装PyGTK之前做到这一点,这是完全正确的)。

您需要在使用PyGTK的系统上安装GTK。通常,PyGTK的导入如下所示:

import pygtk
pygtk.require('2.0')
import gtk

如果查看,您会看到对安装GTK+的引用。请确保这样做(为了完全正确,我认为您应该在安装PyGTK之前这样做)。

gtk没有定义,因为您从未将其作为模块导入。您使用的是来自gtk导入的
*
,它将gtk模块的所有成员拉入当前名称空间,而不是将模块作为一个整体导入。因此,在第25行中,您必须调用
Window(Window\u TOPLEVEL)
,而不是
gtk.Window(gtk.Window\u TOPLEVEL)


我建议使用
import gtk
而不是gtk import*中的
,gtk没有定义,因为您从未将其作为模块导入。您使用的是来自gtk导入的
*
,它将gtk模块的所有成员拉入当前名称空间,而不是将模块作为一个整体导入。因此,在第25行中,您必须调用
Window(Window\u TOPLEVEL)
,而不是
gtk.Window(gtk.Window\u TOPLEVEL)

我建议使用
import gtk
而不是gtk import*
中的