模块未找到:'PIL'

15

当我在Python文件中尝试导入from PIL import Image, ImageFilter时,遇到了一个错误,错误信息是ModuleNotFoundError: No module named 'PIL'

到目前为止,我已经尝试过卸载/重新安装PIL和Pillow,以及只使用import Image,但错误仍然发生,我不知道原因。到目前为止,我找到的所有解决方案对我的问题都没有任何影响。

我在Ubuntu 16.04上运行Python 3.5。


你在安装时使用了pip还是pip3? - bigbounty
1
你可能同时安装了Python 2和Python 3(我只知道Python 2与OSX捆绑在一起),因此在安装和导入时可能会出现版本不匹配的问题。 - Ryan Schaefer
当我执行 pip3 --version 命令时,它输出 pip 9.0.1 from /home/hf/.local/lib/python3.5/site-packages (python 3.5),因此我正在运行的是 Python 3.5 而不是 2。 - HF1
运行 pip --version 命令并查看输出。 - bigbounty
pip --version 输出 pip 9.0.1 from /home/hf/.local/lib/python3.5/site-packages (python 3.5),但我认为这可能是一个 $PATH 问题,因为我的 Python 3.6 安装(以及 PIL 和 Pillow)位于 /usr/local/lib/python3.6/dist-packages。有什么想法如何解决这个问题吗? - HF1
自很久以前起,PIL 就已经被弃用了,并被 Pillow 取代。因此,如果你正在使用旧代码,你需要查看哪些已被替换的内容以及需要进行哪些其他修改。 - not2qubit
6个回答

11

我之前遇到过同样的问题,我尝试了:

 pip install pillow 
 pip install image 

import PIL --> 这行代码仍然无法正常运行

后来我发现它被安装为了 pil

c:\python36\lib\site-packages\pil

import pil

pil.__version__

'5.1.0'

6

好的,我找到了一个解决方法。

为了解决这个问题,我通过sudo pip3 uninstall pillowsudo apt-get purge python3-pil卸载了PILPillow。然后重新启动,并使用sudo -H pip3 install pillow重新安装Pillow

我之前缺少的唯一步骤是重启电脑后没有重新安装PIL

目前为止似乎已经成功解决了问题。


在运行Cinnamon(例如:Linux Mint)的系统上执行“apt-get purge python3-pil”时要小心。它可能会删除cinnamon软件包,从而防止您登录。如果发生这种情况,请按照此答案恢复系统:https://superuser.com/a/1588720/217131 - André
是的,请使用虚拟环境。 - Tareyes

3
在我的情况下,这个问题与虚拟环境有关。Python程序在虚拟环境中运行,但我是从普通的命令提示符中调用“pip安装Pillow”。当我在非虚拟环境中运行程序时,“from PIL import Image”正常工作。当我在调用“pip install Pillow”之前调用“venv/scripts/activate”时,它也可以正常工作。因此看来,如果将PIL安装在Python根目录中,程序在虚拟环境中运行时无法找到它。

是的!这就是对我有效的方法。如果您一直在虚拟环境中运行应用程序,您必须激活虚拟环境,然后安装Pillow。 - HGamble

3

我正在使用Ubuntu 18.04,在按照官方文档安装pillow后,遇到了完全相同的问题。尝试了其他用户分享的所有解决方法,但都没有解决问题。但是当我使用以下命令安装python-pil时,问题立即得到了解决:

sudo apt-get install python3-pil

2

我使用命令 python3 -m pip install Pillow 解决了这个问题。


1

这个主题已经有一段时间了,但我想分享一下我遇到的问题。

我曾经安装过Pillow并且它运行得很好。但今天当我在做某些事情时,它开始给我报错“ModuleNotFoundError: No module named 'PIL'”。我尝试了这个主题中的所有方法,但问题仍然存在。

所以我去了Pillow website,尝试使用官方的安装指南。在我输入“python3 -m pip install --upgrade pip”后,系统告诉我我没有安装pip。然后我意识到它所指的Python是我mingw64库中的Python(C:\msys64\mingw64\bin),因为我昨天安装了它用于C++编译,并将其添加到了我的系统环境路径中。

在从系统环境中删除mingw64 bin库并重新安装Pillow之后,“from PIL import image”就可以完美地工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接