ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python ImportError:无法在virtualenv中导入名称“_imagingtk”

2019-08-29 19:56:26  阅读:335  来源: 互联网

标签:python-3-4 pillow python tkinter virtualenv


我想开始使用枕头,但我遇到了一些问题:
起初,我以为我可以简单地点一下安装枕头,所以我激活了我的virtualenv并做到了这一点.当它不起作用时,我意识到我需要为枕头安装一些依赖项(installation).我在Ubuntu 14.04上.但即使在我安装了这些依赖项并重新安装了枕头之后,代码也无效.直到我在virtualenv和pip安装枕头之外尝试我的主要Python3.4安装,我的代码突然工作.

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'

解决方法:

所以我在过去的几天里遇到了同样的问题,最后得到了解决.我也在运行Ubuntu 14.04,我相信我正在运行python 2.7.
我运行的代码如下

from Tkinter import *
from PIL import Image, ImageTk

app_root = Tk()
img = ImageTk.PhotoImage(Image.open("detailedmodel.jpg"))

imglabel = Label(app_root, image=img).grid(row=1, column=1)

app_root.mainloop()

这产生了错误:

ImportError: cannot import name _imagingtk

我尝试了一些不同的东西来解决基于其他在线解决方案的错误,通常只是卸载和安装枕头与不同的开发人员库,但脚本不断崩溃与相同的错误.
最后我发现在终端进入:

sudo pip2.7 install -I --no-cache-dir Pillow

似乎解决了这个问题.随着其他安装,我想我正在使用错误版本的枕头为python 3而不是2.7.

希望这会有所帮助,但看起来你可能已经解决了这个问题.

标签:python-3-4,pillow,python,tkinter,virtualenv
来源: https://codeday.me/bug/20190829/1763178.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有