ImportError:没有名为_imagingtk的模块

时间:2014-04-01 14:10:29

标签: python python-2.7 user-interface tkinter

我想开始在python中使用Tkinter并拥有以下代码:

#!/usr/bin/python

from Tkinter import *
from PIL import ImageTk, Image

top = Tk()
dir(top)
top.title("Erstes Frame")

erstesFrame = Frame(top, height=250, width=250)
erstesFrame.pack_propagate(0)
erstesFrame.pack()

img = ImageTk.PhotoImage(Image.open("mario.gif"))

erstesBild = Label(erstesFrame, image = img)

erstesBild.pack()

top.mainloop()

但是当我尝试执行它时,它只是给了我这个错误:

Traceback (most recent call last):
  File "ToDoAPP.py", line 14, in <module>
    img = ImageTk.PhotoImage(Image.open("mario.gif"))
  File "/usr/local/lib/python2.7/dist-packages/PIL/ImageTk.py", line 116, in __init__
    self.paste(image)
  File "/usr/local/lib/python2.7/dist-packages/PIL/ImageTk.py", line 181, in paste
    import _imagingtk
ImportError: No module named _imagingtk

我用python-pip安装了PIL,我的操作系统是ubuntu 12.04而我的python版本是2.7.3

4 个答案:

答案 0 :(得分:18)

您需要安装ImageTk模块。

在debian,ubuntu中,您可以使用以下命令进行安装:

sudo apt-get install python-imaging-tk

<强>更新

如果您使用的是最新版本的ubuntu(16.04+),则会更改软件包名称。

  • python-pil.imagetk(Python 2.x)
  • python3-pil.imagetk(Python 3.x)

答案 1 :(得分:4)

如falsetru所述,您需要先安装ImageTk模块:它不会自动附带Python。为此,请运行以下命令之一:

如果您使用的是Python 2.x,请使用以下命令:

Nothing

如果您使用的是Python 3.x,请使用以下命令:

option

答案 2 :(得分:0)

在这里添加答案,在Ubuntu 16.04上,软件包名称略有不同(即使对于Python 2):

sudo apt-get install python-pil.imagetk

答案 3 :(得分:0)

最通用的解决方案是:

python -m pip install image

应该适用于Python 2和3,也适用于Windows。 PIP将安装所有依赖项。