为什么Python不能从PIL导入图像?

时间:2014-10-22 11:00:34

标签: python python-imaging-library importerror python-import pillow

我尝试运行的单行如下:

from PIL import Image

无论看起来多么简单,它都会出错:

Traceback (most recent call last):
  File "C:\...\2014-10-22_12-49.py", line 1, in <module>
    from PIL import Image
  File "C:\pyzo2014a\lib\site-packages\PIL\Image.py", line 29, in <module>
    from PIL import VERSION, PILLOW_VERSION, _plugins
ImportError: cannot import name 'VERSION'

如果有帮助,我在运行之前安装了来自https://pypi.python.org/pypi/Pillow/2.6.1(文件Pillow-2.6.1.win-amd64-py3.4.exe)的枕头(在此之前已经安装了som PIL,我已卸载)。该脚本使用Python版本3.4.1在Pyzo中运行。

出了什么问题,如何导入Image

17 个答案:

答案 0 :(得分:27)

我有同样的错误。这是我的工作流程。我首先使用

安装了PIL(而不是Pillow)
pip install --no-index -f https://dist.plone.org/thirdparty/ -U PIL

然后我找到Pillow并使用

安装它
pip install Pillow

解决我的问题的原因是卸载并重新安装Pillow

pip uninstall PIL
pip uninstall Pillow
pip install Pillow

答案 1 :(得分:7)

如果您使用Anaconda,可以尝试:

conda install Pillow

Example

答案 2 :(得分:6)

我遇到了同样的问题,并通过以下措施解决了该问题:

  1. 在命令提示符下

    pip install Pillow ##
    
  2. 确保您使用

    from PIL import Image
    
I中的

Image必须为大写。就我而言,这就是问题所在。

答案 3 :(得分:4)

  

目前的免费版本是PIL 1.1.7。此版本支持Python 1.5.2及更高版本,包括2.5和2.6。 3.X的版本将在稍后发布。

Python Imaging Library (PIL)

你的python版本是3.4.1,PIL不支持!

答案 4 :(得分:4)

对我来说,我用小写的“ i”而不是Image键入了image。所以我做到了:

from PIL import Image不是from PIL import image

答案 5 :(得分:3)

在Ubuntu OS中,我使用以下命令解决了它

pip install Pillow
apt-get install python-imaging

抱歉,不要问我为什么,这取决于我; - )

答案 6 :(得分:3)

所有答案都很棒但是对我来说它是卸载Pillow

的组合
pip uninstall Pillow

然后安装你需要的任何软件包,例如

sudo apt-get -y install python-imaging
sudo apt-get -y install zlib1g-dev
sudo apt-get -y install libjpeg-dev

然后使用easy_install重新安装Pillow

easy_install Pillow

希望这有助于其他人

答案 7 :(得分:2)

从命令行安装枕头

python -m pip install pillow

答案 8 :(得分:0)

from PIL import Image, ImageTk

答案 9 :(得分:0)

如果你做了所有并且没有像mien那样再次工作,那就去做吧 在ubuntu和 C上从 / usr / lib / python3 / dist-packages / PIL 复制 Image.py ImageTk.py / users / yourComputerName / AppData / Local / Programs / Python / Python36 / Lib / PIL 在Windows项目目录中,只需导入它们即可!

答案 10 :(得分:0)

FWIW,当我遇到相同的错误时,以下内容对我有用:

pip install --upgrade --force-reinstall pillow

答案 11 :(得分:0)

您导入的任何库/包都必须在相同的python目录中具有其依赖项和从属部分。在Linux中

Python3.x -m pip install <your_library_name_without_braces>

发生的是,它安装在默认的python上。因此,请首先确保您的PC上只有1个python 2.x和1个python 3.x版本。

如果您想成功安装matplotlib 您需要这些行,

python -m pip install matplotlib pillow numpy pandas

最后2个是辅助库,并且必须具有。

答案 12 :(得分:0)

使用不推荐使用枕头代码的pytorch代码时出现了相同的错误。由于不赞成使用PILLOW_VERSION,因此我通过以下方法解决了该问题:

只需复制_version文件,然后在同一文件夹中将其重命名为PILLOW_VERSION.py。

为我工作

答案 13 :(得分:0)

对我有用的是

进入饲料店

C:\Users\{YOUR PC USER NAME}\AppData\Local\Programs\Python\Python37-32\Lib\site-packages 

,然后删除或更改PIL文件夹的名称并完成。

必须在运行后执行

pip uninstall PIL

其他建议对我产生了

WARNING: Skipping PIL as it is not installed.

但是我不确定删除该库的后果,因此如果我因此而遇到问题,我将编辑这篇文章。

答案 14 :(得分:0)

我遇到了同样的问题,枕头在anaconda中安装了environment.yml

我很快就知道pip和setuptools必须始终是最新的,否则我会遇到问题。在安装软件包之前,请务必先更新这些工具。对于任何软件包导入问题,请卸载软件包以升级列出的工具(甚至是您的基本环境)并重新安装。

conda uninstall pillow
python -m pip install pip --upgrade
pip install setuptools --upgrade
pip install pillow

如果使用Anaconda,请在基本环境中首先运行以下命令,然后再安装软件包/环境:

conda update conda

更新基本环境不是解决此问题所必需的,但这是避免出现类似问题的一种很好的做法

@theeastcoastwest回答了点数升级问题,但我认为需要更多信息

答案 15 :(得分:0)

现在,我实际上和我的兄弟进行了一些调试,发现枕头(PIL)需要初始化。我不知道如何初始化它,因此您可能会坚持重新安装Pillow。

答案 16 :(得分:-3)

尝试使用import PIL代替from PIL import image