为什么 "from PIL import Image" 不起作用,但 "from pil import Image" 可以?(小写的pil)

3
我遇到了Pillow的一个奇怪错误,其中导入名称PIL需要全部小写而不是全部大写,但我从未见过任何地方使用小写的pil。这意味着我使用的所有导入PIL的Python软件包和文件都无法工作,并抛出ModuleNotFoundError: No module named 'PIL'的异常。然而,当我将“PIL”更改为“pil”时,导入就起作用了。
Pillow版本= 9.0.0 Python版本 = 3.9.1
在尝试安装d3dshot包之后,我遇到了这个错误。使用pip安装d3dshot会引发有关Pillow缺少zlib依赖项的错误,并且我按照此答案成功安装了d3dshot。之后,我开始遇到这个PIL错误。

4
如果我没记错的话,PIL 经历了一个奇怪的更新,在某个时候改变了大小写。旧的教程可能会使用旧的大小写。现在没有足够的时间来完整回答这个问题。 - Pro Q
3
有趣,我刚刚安装了PIL 9.0.0版本,现在只能使用import PIL而不能使用import pil - jkr
3
@ProQ你是从哪里得到那个信息的?Pillow仍然通过PIL导入。 - Iain Shelvington
3
据我记忆(自从Pillow的开始),PIL的Pillow版本一直使用大写的“PIL”,这可能是基于历史原因,因为它一直致力于与原始版本兼容。无论如何,看起来你使用的是某种定制版本。 - martineau
@martineau 我在想我的自定义安装的d3dshot可能安装了一个定制版的Pillow。我会尝试卸载并重新安装所有相关内容,看看是否有所帮助。谢谢。 - Julian Fritz
我之前安装的Pytorch一直都能正常使用,但最近遇到了同样的问题...不过我的conda环境自去年8月以来就没有更新过。最终解决问题的方法是重新安装整个虚拟环境——仅重新安装包并不能解决问题。 - LSgeo
1个回答

4

多个参考资料建议在通过pip安装Pillow时大写P,包括官方文档PyPi以及许多相关的stackoverflow帖子例如1

我建议尝试在pyproject.toml中使用Pillow = ">=7.1.2",并将P大写。

对于其他遇到此问题的人,卸载pillow并确保使用Pillow安装可能会解决问题。


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