在Ubuntu 11.04上加载pygtk的问题

时间:2011-07-15 21:58:43

标签: python ubuntu pygtk

我正在尝试在Python中使用pygtk但是当我尝试运行我的代码时出现此错误:

Traceback (most recent call last):
  File "application.py", line 3, in <module>
    pygtk.require(2.0)
  File "/usr/lib/python2.7/dist-packages/pygtk.py", line 85, in require
    "required version '%s' not found on system" % version
AssertionError: required version '2.0' not found on system

以下是我正在尝试运行的代码(它基本上来自pygtk网站的Hello World示例):

#!/usr/bin/env python
import pygtk
pygtk.require(2.0)
import gtk

class Application():
  def hello(self, widget, data=None):
    print 'Hello World'

  def delete_event(self, widget, event, data=None):
    print 'delete even occurred'
    return False

  def destroy(self, widget, data=None):
    gtk.main_quit()

  def __init__(self):
    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    self.window.connect('delete_event', self.delete_event)
    self.quitButton = Button(self, text='Quit', command=self.quit)
    self.quitButton.grid()
    self.window.set_border_width(10)
    self.button = gtk.Button('Hello World')
    self.button.connect('clicked', self.hello, None)
    self.button.connect_object('clicked', gtk.Widget.destroy, self.window)
    self.window.add(self.button)
    self.button.show()

  def main(self):
    gtk.main()

def main():
  app = Application()
  app.main()

if __name__ == '__main__':
  main()

此外,当我尝试运行pygtk-demo时,一切正常,即使它以与我相同的方式导入库。它还会输出PyGTK Demo (gtk: v2.24.4, pygtk: v2.22.0),因此您可以看到我的版本是&gt; 2.0。

1 个答案:

答案 0 :(得分:1)

文件中的第3行应为:

pygtk.require('2.0')

因为在这种情况下2.0是一个字符串,而不是浮点数。