我想从 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
安装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)
正如falsetru所指出的,你需要先安装ImageTk模块:它不会自动随Python一起提供。为此,请运行以下命令之一:
如果您使用的是 Python 2.x,请使用以下命令:
sudo apt-get install python-imaging-tk
如果您使用的是 Python 3.x,请使用以下命令:
sudo apt-get install python3-pil.imagetk
为了补充这里的答案,在 Ubuntu 16.04 上,包名称略有不同(即使对于 Python 2):
sudo apt-get install python-pil.imagetk
最通用的解决方案是:
python -m pip install image
应该适用于Python 2和3以及Windows。PIP 将安装所有依赖项。