我应该安装什么才能在Ubuntu上使用Python中的GTK?

时间:2009-11-02 19:16:49

标签: python

在我的源代码中,我有:

import gtk

但是当我使用python3 script.py命令运行脚本时,我收到以下错误。我应该安装什么软件包以使其正常工作?

编辑:我的坏。这是错误:

ImportError: No module named gtk

EDIT2:     谢谢你的回答,kaizer.se。但我仍然收到错误消息。看看下面的代码:     import pygtk,gtk     pygtk.require( '2.0')

def main():
    win = gtk.Window(gtk.WINDOW_TOPLEVEL)
    s = u"привет 한국"
    win.set_title(s)
    win.connect("destroy", gtk.main_quit)
    win.show()

if __name__ == "__main__":
    main()
    gtk.main()

当我运行此脚本时,我收到以下错误:

SyntaxError: Non-ASCII character '\xd0' in file basics.py on line 6, but no encoding declared; see python.org/peps/pep-0263.html for details

知道如何解决这个问题吗?谢谢。

2 个答案:

答案 0 :(得分:1)

PyGtk尚不支持Python 3。您可能想要使用Python 2.x,然后您需要安装python-gtk2包。

答案 1 :(得分:0)

从技术上讲,Python 3和Python 2.6如何处理unicode和国际文本之间没有太大区别。最大的区别在于调用类以及默认值是什么。

所以如果你在Python 3中写道:

s = "Grüß Gott"

你在Python 2.x中使用它:

# coding: UTF-8
s = u"Grüß Gott"

PyGTK始终在内部使用UTF-8编码,您可以根据需要传递unicode字符串或UTF-8编码的字符串。

最好的模型是始终在内部使用unicode字符串,并且一旦进入程序就会转换字符串(例如,您读取文件)。同样,在Python 3中,这是更明确的强制执行,但过程实际上完全相同。

补充更新的问题:我已经回答了,仔细看看我的Py 3和Py 2.x示例!提示:您必须在每个文件的第一行指定编码,如下所示:# coding: UTF-8

当您看到如下错误消息时,您还必须问自己,Baha:

  

SyntaxError:非ASCII字符   第6行的文件basics.py中的'\ xd0',   但没有声明编码;看到   python.org/peps/pep-0263.html for   细节

您是否阅读了该消息并看到它说“没有编码声明”?您是否按照链接阅读了那里的信息?你自己很容易解决这个问题。