2014-04-01 24 views
6

tôi muốn bắt đầu sử dụng Tkinter với trăn và có mã sau đây:ImportError: Không có mô-đun tên _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() 

Nhưng khi tôi cố gắng để thực hiện nó, nó chỉ mang lại cho tôi lỗi này:

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 

Tôi đã cài đặt PIL với python-pip và hệ điều hành của tôi là ubuntu 12.04 và phiên bản python của tôi là 2.7.3

Trả lời

16

Bạn cần cài đặt mô-đun ImageTk.

Trong debian, ubuntu, bạn có thể sử dụng lệnh sau để cài đặt nó:

sudo apt-get install python-imaging-tk 

CẬP NHẬT

Nếu bạn đang sử dụng phiên bản mới của ubuntu (16.04+), tên gói thay đổi .

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

Nó có thể được cài đặt thông qua pip? – dm76

+0

@ dm76, Xin lỗi, tôi chưa bao giờ thử điều đó. Tôi không chắc. – falsetru

+0

Tôi đã có gói đó, Phiên bản: 2.6.1-2 và vẫn gặp lỗi. – appas

4

Theo ghi nhận của falsetru, bạn cần phải cài đặt các module ImageTk đầu tiên: nó không tự động đi kèm với Python. Để làm điều này, hãy chạy một trong các lệnh dưới đây:

Nếu bạn đang sử dụng Python 2.x, sử dụng lệnh này:

sudo apt-get install python-imaging-tk 

Nếu bạn đang sử dụng Python 3.x, sử dụng lệnh này:

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

Cảm ơn lời khuyên. Buồn này đã không được giải quyết ngay cả trên các bản phân phối mới như Ubuntu 16.04.1 LTS. – MarkHu

0

Chỉ cần để thêm vào các câu trả lời ở đây, trên Ubuntu 16.04 tên gói là hơi khác nhau (ngay cả đối với Python 2):

sudo apt-get install python-pil.imagetk

Các vấn đề liên quan