我想開始使用枕頭,但我跑輸入名稱「_imagingtk」了一些問題:
起初,我以爲我可以簡單地pip install pillow
,所以我激活了我的virtualenv和正是做到了。當它沒有奏效時,我意識到我需要爲枕頭安裝一些依賴關係(installation)。我在Ubuntu 14.04上。但即使在我安裝這些依賴並重新安裝枕頭後,該規範也不起作用。直到我在我的主要Python3.4安裝中的virtualenv和pip
安裝的枕頭之外嘗試了它之後,我的代碼突然出現了。的Python導入錯誤:無法在virtualenv中
import tkinter as tk
from PIL import Image, ImageTk
def show(img, text=""):
root = tk.Tk()
root.title(text)
photo = ImageTk.PhotoImage(img)
image_lbl = tk.Label(root, image=photo)
image_lbl.image = photo
image_lbl.pack()
root.mainloop()
show(Image.open("test.jpg"), text="Test")
錯誤:
Traceback (most recent call last):
File "~/Code/Python/venvs/main/lib/python3.4/site-packages/PIL/ImageTk.py", line 176, in paste
tk.call("PyImagingPhoto", self.__photo, block.id)
_tkinter.TclError: invalid command name "PyImagingPhoto"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "~/Code/Python/main/test.py", line 15, in <module>
show(Image.open("test.jpg"), text="Test")
File "~/Code/Python/main/test.py", line 8, in show
photo = ImageTk.PhotoImage(img)
File "~/Code/Python/venvs/main/lib/python3.4/site-packages/PIL/ImageTk.py", line 115, in __init__
self.paste(image)
File "~/Code/Python/venvs/main/lib/python3.4/site-packages/PIL/ImageTk.py", line 180, in paste
from PIL import _imagingtk
ImportError: cannot import name '_imagingtk'