无法在Ubuntu Python 2.7中导入GTK
我试图在UbuntuPython2.7中导入GTK,我得到了以下错误。PyGTK进口很好。当我导入gtk时,出现以下错误:无法在Ubuntu Python 2.7中导入GTK,python,ubuntu,gtk,pygtk,python-idle,Python,Ubuntu,Gtk,Pygtk,Python Idle,我试图在UbuntuPython2.7中导入GTK,我得到了以下错误。PyGTK进口很好。当我导入gtk时,出现以下错误: Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__ return self.func(*args) File "/usr/lib/python2.7/id
Exception in Tkinter callback Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "/usr/lib/python2.7/idlelib/MultiCall.py", line 167, in handler
r = l[i](event)
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1140, in enter_callback
self.runit()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1181, in runit
more = self.interp.runsource(line)
File "/usr/lib/python2.7/idlelib/PyShell.py", line 619, in runsource
return InteractiveInterpreter.runsource(self, source, filename)
File "/usr/lib/python2.7/code.py", line 87, in runsource
self.runcode(code)
File "/usr/lib/python2.7/idlelib/PyShell.py", line 759, in runcode
self.tkconsole.endexecuting()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 940, in endexecuting
self.showprompt()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1205, in showprompt
self.resetoutput()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1217, in resetoutput
if self.history:
File "/usr/lib/python2.7/idlelib/PyShell.py", line 64, in idle_showwarning
lineno, file=file, line=line))
TypeError: idle_formatwarning() got an unexpected keyword argument 'file'
如何修复此问题?请在空闲时间之外尝试。这里的错误在IDLE中,而不是您的代码中 创建一个包含
import gtk
的新脚本,并将其保存到任何位置
从命令行中,在脚本所在的目录中,运行python,无论您的脚本名称是.py
看看是否有错误。您可能无法在空闲状态下导入gtk
编辑:在Ubuntu的某些情况下,显然有一个错误
尝试不同的pythonshell;我建议您可以使用Synaptic或sudo apt get install ipython安装哪个版本
这是一个处于空闲状态的版本。查看该错误消息的最后一行:
File "/usr/lib/python2.7/idlelib/PyShell.py", line 64, in idle_showwarning
lineno, file=file, line=line))
TypeError: idle_formatwarning() got an unexpected keyword argument 'file'
这意味着warning.idle\u showwarning方法没有参数“file”
看看/usr/lib/python2.7/warnings.py就知道了
def formatwarning(message, category, filename, lineno, line=None)
没有这样的论点
这显然已经在源代码管理中解决了,但我不认为它已经发布了。我只需要破解/usr/lib/python2.7/idlelib/PyShell.py文件,并从第64行删除有问题的参数
然后再试一次…我可以在Windows 7安装的Python上导入gtk,所以不是这样。另外,gtk.py位于哪里?搜索结果一无所获。我不知道它在哪里。IDLE仍然掩盖了真正的错误(或者说错误是在Ubuntu版本的IDLE中),所以你仍然应该这样做,它会清除错误——不管gtk.py位于何处。它说“没有这样的文件或目录”。但是,它说对于功能性的pygtk.py也是如此。你试过做
python gtk.py
?那不是我要你做的。创建一个新的.py
文件,并将import gtk
放入其中,然后运行新创建的脚本。请不要像“它说的”那样报告错误。在你的帖子中发布实际的控制台文本,这样我就知道“它”是什么以及全部错误。啊,误读了你原来的帖子。我按照指示创建了一个脚本,只有一行“import gtk”,我保存了它并在终端中运行它。没有错误。但是,它在空闲时仍然会引发相同的问题。打开一个终端(应用程序>附件终端),在命令提示符下键入python
。在>>
之后,键入导入gtk
,看看它现在导入时是否没有任何错误。这就解决了问题!对于不知道如何编辑该文件的人,请转到Terminal并键入“sudo nano/usr/lib/python2.7/idlelib/PyShell.py”。