Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Ubuntu Python 2.7中导入GTK_Python_Ubuntu_Gtk_Pygtk_Python Idle - Fatal编程技术网

无法在Ubuntu Python 2.7中导入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

我试图在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/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”。