当我运行以下时
from tkinter import *
from PIL import ImageTk, Image
root.mainloop()
我有
Traceback (most recent call last):
File "image_viewer.py", line 2, in <module>
from PIL import ImageTk, Image
ImportError: No module named PIL
但我已经安装了Pillow,一切都很好。
使用枕头;新的";或替换PIL,但具有相同名称的模块以保持兼容性:
pip install pillow
此外,正如评论中所建议的,也许你只是使用了错误的python二进制文件,试着检查你是否在虚拟环境中,或者检查系统上python
与python3
与python2
之间的差异:
python -m pip list
python2 -m pip list
python3 -m pip list
如果您确定已经安装了pillow,请使用此命令pip install pillow --upgrade
,然后可以使用命令pip freeze
列出所有已安装的模块。
问题是您没有运行相同的python解释器。此外,python无法找到OpenCV的路径这一事实可能会导致问题的出现。
您首先需要找到安装在操作系统上的OpenCV的路径。
首先,打开一个python脚本并运行以下命令:
import cv2
PATH = cv2.__file__
print(PATH)
这将把PATH打印到安装在操作系统上的OpenCV。
然后,在主脚本的顶部添加以下两行(在调用tkinter和PIL之前(:
import sys
sys.path.append('PATH')
from tkinter import *
from PIL import ImageTk, Image
root.mainloop()
替代解决方案:
问题可能是您没有运行相同的python解释器。
您首先需要找到解释python脚本的python可执行文件的路径。
打开一个python脚本并运行这个:
import sys
PATH = sys.executable
print(PATH)
这将打印用于解释python脚本的python可执行文件的路径。
现在,您可以在找到的路径中安装枕头,如下所示:
PATH -m pip install pillow