2014-04-01 87 views
6

我想開始使用Tkinter的Python和具有下面的代碼:導入錯誤:沒有模塊名爲_imagingtk

#!/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

回答

16

您需要安裝ImageTk模塊。

在Debian的,Ubuntu的,你可以用下面的命令來安裝它:

sudo apt-get install python-imaging-tk 

UPDATE

如果你使用的Ubuntu最近(16.04+)的版本,包名稱變更。

  • python-pil.imagetk(Python的2.X)
  • python3-pil.imagetk(Python 3.x都有)
+1

它可以通過點安裝嗎? – dm76

+0

@ dm76,對不起,我從來沒有嘗試過。我不確定。 – falsetru

+0

我已經擁有該軟件包,版本:2.6.1-2,並且仍然出現錯誤。 – appas

4

正如falsetru指出的,你需要先安裝ImageTk模塊:它不會自動配蟒蛇。要做到這一點,運行下面的命令之一:

如果你使用的是Python 2.x中,使用這個命令:

sudo apt-get install python-imaging-tk 

如果你使用的是Python 3.x中,使用這個命令:

sudo apt-get install python3-pil.imagetk 
+0

感謝您的提示。可悲的是,即使在Ubuntu 16.04.1 LTS等新發行版上,這個問題也沒有得到解決。 – MarkHu

0

只需添加到答案在這裏,在Ubuntu 16.04的軟件包名稱略有不同(甚至爲Python 2):

sudo apt-get install python-pil.imagetk

相關問題