如何修复“pip安装Pillow时出现错误”的问题

24

我在pycharm windows上运行了pip install pillow,但是遇到了以下错误,请帮助我解决这个问题。

我尝试手动安装pillow,从github下载pillow并使用python setup.py install安装,但是在pycharm上安装失败了,我不知道错误在哪里。以下是整个过程:

Collecting Pillow
  Using cached https://files.pythonhosted.org/packages/81/1a/6b2971adc1bca55b9a53ed1efa372acff7e8b9913982a396f3fa046efaf8/Pillow-6.0.0.tar.gz
Installing collected packages: Pillow
  Running setup.py install for Pillow ... error
    Complete output from command C:\Users\rijal\Desktop\webdevlops\django_project\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\rijal\\AppData\\Local\\Temp\\pip-install-di5is9gd\\
Pillow\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\rijal\AppData\Local\Temp\pip-record-zdea
w2p6\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\rijal\Desktop\webdevlops\django_project\venv\include\site\python3.8\Pillow:
    C:\Users\rijal\AppData\Local\Temp\pip-install-di5is9gd\Pillow\setup.py:29: RuntimeWarning: Pillow does not yet support Python 3.8 and does not yet provide prebuilt Windows binaries. We do not recommend buildin
g from source on Windows.
      warnings.warn(
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.8
    creating build\lib.win-amd64-3.8\PIL
    copying src\PIL\BdfFontFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\BlpImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\BmpImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\BufrStubImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ContainerIO.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\CurImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\DcxImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\DdsImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\EpsImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ExifTags.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\features.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\FitsStubImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\FliImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\FontFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\FpxImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\FtexImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GbrImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GdImageFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GifImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GimpGradientFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GimpPaletteFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\GribStubImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\Hdf5StubImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\IcnsImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\IcoImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\Image.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageChops.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageCms.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageColor.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageDraw.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageDraw2.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageEnhance.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageFilter.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageFont.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageGrab.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageMath.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageMode.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageMorph.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageOps.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImagePalette.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImagePath.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageQt.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageSequence.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageShow.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageStat.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageTk.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageTransform.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImageWin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\ImtImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\IptcImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\Jpeg2KImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\JpegImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\JpegPresets.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\McIdasImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\MicImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\MpegImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\MpoImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\MspImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PaletteFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PalmImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PcdImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PcfFontFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PcxImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PdfImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PdfParser.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PixarImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PngImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PpmImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PsdImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PSDraw.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\PyAccess.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\SgiImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\SpiderImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\SunImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\TarIO.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\TgaImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\TiffImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\TiffTags.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\WalImageFile.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\WebPImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\WmfImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\XbmImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\XpmImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\XVThumbImagePlugin.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\_binary.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\_tkinter_finder.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\_util.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\_version.py -> build\lib.win-amd64-3.8\PIL
    copying src\PIL\__init__.py -> build\lib.win-amd64-3.8\PIL
    running egg_info
    writing src\Pillow.egg-info\PKG-INFO
    writing dependency_links to src\Pillow.egg-info\dependency_links.txt
    writing top-level names to src\Pillow.egg-info\top_level.txt
    reading manifest file 'src\Pillow.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'

错误信息如下:

warning: no files found matching '*.c'
warning: no files found matching '*.h'
warning: no files found matching '*.sh'
no previously-included directories found matching 'docs\_static'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.codecov.yml'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.landscape.yaml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files matching '.git*' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
no previously-included directories found matching '.azure-pipelines'
no previously-included directories found matching '.travis'
writing manifest file 'src\Pillow.egg-info\SOURCES.txt'
running build_ext

The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html

Traceback (most recent call last):
  File "C:\Users\rijal\AppData\Local\Temp\pip-install-di5is9gd\Pillow\setup.py", line 759, in <module>
    setup(name=NAME,
  File "C:\Users\rijal\Desktop\webdevlops\django_project\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg\setuptools\__init__.py", line 145, in setup
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\rijal\Desktop\webdevlops\django_project\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg\setuptools\command\install.py", line 61, in run
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\command\install.py", line 545, in run
    self.run_command('build')
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\rijal\AppData\Local\Programs\Python\Python38\lib\distutils\command\build_ext.py", line 340, in run
    self.build_extensions()
  File "C:\Users\rijal\AppData\Local\Temp\pip-install-di5is9gd\Pillow\setup.py", line 606, in build_extensions
    raise RequiredDependencyException(f)
__main__.RequiredDependencyException: zlib

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\rijal\AppData\Local\Temp\pip-install-di5is9gd\Pillow\setup.py", line 804, in <module>
    raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:

The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html

----------------------------------------
Command "C:\Users\rijal\Desktop\webdevlops\django_project\venv\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\rijal\\AppData\\Local\\Temp\\pip-install-di5is9gd\\Pillow\\setup.py';f=geta
ttr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\rijal\AppData\Local\Temp\pip-record-zdeaw2p6\install-record.txt
--single-version-externally-managed --compile --install-headers C:\Users\rijal\Desktop\webdevlops\django_project\venv\include\site\python3.8\Pillow" failed with error code 1 in C:\Users\rijal\AppData\Local\Temp\pi
p-install-di5is9gd\Pillow\

4
阅读堆栈跟踪信息:"Pillow does not yet support Python 3.8"和"The headers or library files could not be found for zlib"。如果你前往推荐的URL,它会说:"我们不建议在Windows上构建。这是一个迷宫,大多数都是死路。"所以您最好降级到Python 3.7并执行"pip install Pillow"。 - xbello
6个回答

52

Pillow 6.2.0现在支持Python 3.8并提供了预编译的wheel文件。

请确保您正在使用Python 3.8.0 final版本或更高版本,pip版本应为19.2或更高版本。

升级方法如下:

python -m pip install --upgrade pip
python -m pip install --upgrade pillow

为什么更喜欢使用 python -m pip install 而不是 pip install :


1
python -m 的意义是什么?它是用来做什么的? - for_all_intensive_purposes
1
为确保您在pip和脚本中使用相同的Python版本,请参阅 https://snarky.ca/why-you-should-use-python-m-pip/。 - Hugo
1
在我的情况下这并没有起作用,根本原因是缺少了 Vikas Tikoo 的回答中提到的库。 - Blindfreddy

13

我在一台旧的Ubuntu 18.04虚拟机上遇到了同样缺失zlib的问题。

The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.

安装zlib dev软件包使其更进一步。然后它遇到了类似于jpeg和png库的问题。
以下是最终对我有效的方法:
sudo apt install zlib1g-dev libjpeg-dev libpng-dev

我可以确认,在Raspberry Pi OS 2022-04-04上使用pip安装pillow是可行的。 - BlandCorporation
这对我也起作用了 - 仅仅使用pip升级pillow并不行!这应该是被接受的答案。 - Blindfreddy

3

如果你使用的是Windows系统,请确保Python版本为3.8且pip版本为19.0。然后使用命令python -m pip install --upgrade Pillow来安装v7版本。这个方法对我起作用了。


0

在Windows上使用MSYS2/MinGW
使用MSYS2构建Pillow时,请确保运行MSYS2 MinGW 32位或MSYS2 MinGW 64位控制台,而不是直接运行MSYS2。

以下说明针对64位构建,对于32位,请将所有出现的mingw-w64-x86_64-替换为mingw-w64-i686-

确保已安装Python和GCC:

pacman -S \
    mingw-w64-x86_64-gcc \
    mingw-w64-x86_64-python3 \
    mingw-w64-x86_64-python3-pip \
    mingw-w64-x86_64-python3-setuptools

然后使用以下命令在MSYS2 MinGW 64位上安装先决条件:

pacman -S \
    mingw-w64-x86_64-libjpeg-turbo \
    mingw-w64-x86_64-zlib \
    mingw-w64-x86_64-libtiff \
    mingw-w64-x86_64-freetype \
    mingw-w64-x86_64-lcms2 \
    mingw-w64-x86_64-libwebp \
    mingw-w64-x86_64-openjpeg2 \
    mingw-w64-x86_64-libimagequant \
    mingw-w64-x86_64-libraqm

现在使用以下命令安装Pillow库:
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

这对我有效。


嗨,Ankit。请使用适当的格式来优化您的答案。 - Failed Scientist

-1

尝试了其他所有方法后,我通过将Python版本从3.8.9更新到最新版本(3.9.*)来解决了这个问题。


-3
尝试使用以下命令:

pip install pillow

然后

python -m pip install pillow


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