我在shell中使用这个命令来安装PIL:
easy_install PIL
然后我运行python并键入:import PIL。但是我得到了这个错误:
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named PIL
我从来没有遇到过这样的问题,你觉得呢?
我在shell中使用这个命令来安装PIL:
easy_install PIL
然后我运行python并键入:import PIL。但是我得到了这个错误:
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named PIL
我从来没有遇到过这样的问题,你觉得呢?
当前回答
另一方面,我可以强烈推荐使用Pillow,它与PIL向后兼容,并且在更新的系统上可以更好地维护/工作。
安装好后就可以了
import PIL
or
from PIL import Image
等。
其他回答
在一些安装PIL,你必须这样做
import Image
而不是进口PIL (PIL实际上并不总是这样进口)。由于import Image对您有效,这意味着您实际上已经安装了PIL。
对于库和Python模块使用不同的名称是不寻常的,但PIL(某些版本)选择了这样的名称。
您可以从官方教程中获得有关如何使用此模块的更多信息。
PS:事实上,在某些安装中,导入PIL是可以工作的,这增加了混乱。正如@JanneKarila所发现的,文档中的一个例子证实了这一点,还有一些MacPorts PIL包的最新版本(1.1.7)。
我使用:
from pil import Image
而不是
from PIL import Image
这对我来说很有效
祝你一切顺利
而不是PIL使用Pillow它工作
easy_install Pillow
or
pip install Pillow
Windows 10上的Python 3.8。这些答案的组合对我很有用。请参阅下面的独立工作示例。注释掉的行应该在命令行中执行。
import requests
import matplotlib.pyplot as plt
# pip uninstall pillow
# pip uninstall PIL
# pip install image
from PIL import Image
url = "https://images.homedepot-static.com/productImages/007164ea-d47e-4f66-8d8c-fd9f621984a2/svn/architectural-mailboxes-house-letters-numbers-3585b-5-64_1000.jpg"
response = requests.get(url, stream=True)
img = Image.open(response.raw)
plt.imshow(img)
plt.show()
有时候我在python中运行Unitest时会遇到这种错误。解决方案是卸载并在虚拟环境中安装相同的包。
使用命令:
pip uninstall PIL
and
pip install PIL
如果由于任何原因出现错误,请在命令的开头添加sudo,并在按enter键后输入密码。