使用版本:
Windows10
虚拟环境python版本3.7.10
项目场景:
为了完成CS231n课程2017版的课程作业assignment1和2,需要按照项目提供的requirements.txt中的版本安装较老版本的pillow。
pip install pillow安装pillow8.3.1之后,通过jupyter notebook运行加载from PIL import Image 会报错No module named ‘PIL’,说明pillow安装不成功,需要重新安装。
太长不想看可以直接拉到最后看可以用的版本。
问题描述:
在anaconda prompt中激活虚拟环境python37后,输入pip install pillow==3.0.0,出现一大批标红错误,关键错误是:
ValueError: --enable-jpeg requested but jpeg not found, aborting.
完整错误代码如下:
(python37) C:\Users\wxy>pip install pillow==3.0.0
Collecting pillow==3.0.0
Using cached Pillow-3.0.0.zip (9.9 MB)
Building wheels for collected packages: pillow
Building wheel for pillow (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'D:\anaconda\envs\python37\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"'; __file__='"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\wxy\AppData\Local\Temp\pip-wheel-8kzv_e7z'
cwd: C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\
Complete output (131 lines):
Single threaded build for windows
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\PIL
copying PIL\BdfFontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\BmpImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\BufrStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ContainerIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\CurImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\DcxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\EpsImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ExifTags.py -> build\lib.win-amd64-3.7\PIL
copying PIL\features.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FitsStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FliImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FpxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GbrImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GdImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GifImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GimpGradientFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GimpPaletteFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GribStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Hdf5StubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IcnsImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IcoImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Image.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageChops.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageCms.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageColor.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageDraw.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageDraw2.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageEnhance.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFilter.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFont.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageGrab.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMath.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMode.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMorph.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageOps.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImagePalette.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImagePath.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageQt.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageSequence.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageShow.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageStat.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageTk.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageTransform.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageWin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImtImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IptcImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Jpeg2KImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\JpegImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\JpegPresets.py -> build\lib.win-amd64-3.7\PIL
copying PIL\McIdasImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MicImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MpegImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MpoImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MspImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\OleFileIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PaletteFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PalmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcdImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcfFontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PdfImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PixarImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PngImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PpmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PsdImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PSDraw.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PyAccess.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SgiImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SpiderImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SunImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TarIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TgaImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TiffImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TiffTags.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WalImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WebPImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WmfImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XbmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XpmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XVThumbImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\_binary.py -> build\lib.win-amd64-3.7\PIL
copying PIL\_util.py -> build\lib.win-amd64-3.7\PIL
copying PIL\__init__.py -> build\lib.win-amd64-3.7\PIL
running egg_info
writing Pillow.egg-info\PKG-INFO
writing dependency_links to Pillow.egg-info\dependency_links.txt
writing top-level names to Pillow.egg-info\top_level.txt
reading manifest file 'Pillow.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Pillow.egg-info\SOURCES.txt'
copying PIL\OleFileIO-README.md -> build\lib.win-amd64-3.7\PIL
running build_ext
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\setup.py", line 767, in <module>
zip_safe=not debug_build(),
File "D:\anaconda\envs\python37\lib\site-packages\setuptools\__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "D:\anaconda\envs\python37\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\site-packages\wheel\bdist_wheel.py", line 299, in run
self.run_command('build')
File "D:\anaconda\envs\python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "D:\anaconda\envs\python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\setup.py", line 515, in build_extensions
% (f, f))
ValueError: --enable-jpeg requested but jpeg not found, aborting.
----------------------------------------
ERROR: Failed building wheel for pillow
Running setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillow
Running setup.py install for pillow ... error
ERROR: Command errored out with exit status 1:
command: 'D:\anaconda\envs\python37\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"'; __file__='"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\wxy\AppData\Local\Temp\pip-record-k27rztlx\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\anaconda\envs\python37\Include\pillow'
cwd: C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\
Complete output (133 lines):
Single threaded build for windows
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\PIL
copying PIL\BdfFontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\BmpImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\BufrStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ContainerIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\CurImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\DcxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\EpsImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ExifTags.py -> build\lib.win-amd64-3.7\PIL
copying PIL\features.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FitsStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FliImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\FpxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GbrImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GdImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GifImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GimpGradientFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GimpPaletteFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\GribStubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Hdf5StubImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IcnsImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IcoImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Image.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageChops.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageCms.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageColor.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageDraw.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageDraw2.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageEnhance.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFilter.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageFont.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageGrab.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMath.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMode.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageMorph.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageOps.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImagePalette.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImagePath.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageQt.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageSequence.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageShow.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageStat.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageTk.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageTransform.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImageWin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\ImtImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\IptcImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\Jpeg2KImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\JpegImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\JpegPresets.py -> build\lib.win-amd64-3.7\PIL
copying PIL\McIdasImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MicImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MpegImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MpoImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\MspImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\OleFileIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PaletteFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PalmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcdImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcfFontFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PcxImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PdfImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PixarImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PngImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PpmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PsdImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PSDraw.py -> build\lib.win-amd64-3.7\PIL
copying PIL\PyAccess.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SgiImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SpiderImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\SunImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TarIO.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TgaImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TiffImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\TiffTags.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WalImageFile.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WebPImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\WmfImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XbmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XpmImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\XVThumbImagePlugin.py -> build\lib.win-amd64-3.7\PIL
copying PIL\_binary.py -> build\lib.win-amd64-3.7\PIL
copying PIL\_util.py -> build\lib.win-amd64-3.7\PIL
copying PIL\__init__.py -> build\lib.win-amd64-3.7\PIL
running egg_info
writing Pillow.egg-info\PKG-INFO
writing dependency_links to Pillow.egg-info\dependency_links.txt
writing top-level names to Pillow.egg-info\top_level.txt
reading manifest file 'Pillow.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Pillow.egg-info\SOURCES.txt'
copying PIL\OleFileIO-README.md -> build\lib.win-amd64-3.7\PIL
running build_ext
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\setup.py", line 767, in <module>
zip_safe=not debug_build(),
File "D:\anaconda\envs\python37\lib\site-packages\setuptools\__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "D:\anaconda\envs\python37\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\site-packages\setuptools\command\install.py", line 61, in run
return orig.install.run(self)
File "D:\anaconda\envs\python37\lib\distutils\command\install.py", line 545, in run
self.run_command('build')
File "D:\anaconda\envs\python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "D:\anaconda\envs\python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "D:\anaconda\envs\python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "D:\anaconda\envs\python37\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "C:\Users\wxy\AppData\Local\Temp\pip-install-u0q_mc9r\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\setup.py", line 515, in build_extensions
% (f, f))
ValueError: --enable-jpeg requested but jpeg not found, aborting.
----------------------------------------
ERROR: Command errored out with exit status 1: 'D:\anaconda\envs\python37\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"'; __file__='"'"'C:\\Users\\wxy\\AppData\\Local\\Temp\\pip-install-u0q_mc9r\\pillow_41b04c1a7b7b4a8f80c69c30c293b9f2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\wxy\AppData\Local\Temp\pip-record-k27rztlx\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\anaconda\envs\python37\Include\pillow' Check the logs for full command output.
原因分析:
在网上搜索了一大圈,应该是缺少libjpeg-dev之类的包,但该链接中给出的安装都是基于Linux的Ubuntu,在Windows中没有名为libjpeg-dev的包可供安装。
参考链接:
Python图像库失败,消息“解码器JPEG不可用” - PIL
解决方案:
看到一篇说明pillow与python版本对应的博客:
解决python3.9安装pillow库出错问题
打开官网有更多关于安装的信息:
Installation–Pillow(PIL Fork) Documentation
显然Pillow3.0.0不支持python3.7,所以下载了pillow5.2.0版本的whl
Pillow-5.2.0-cp37-cp37m-win_amd64.whl
将anaconda prompt切换到pillow的whl包所在位置,或者将pillow的whl包放在anaconda prompt显示的文件夹内,然后输入pip install Pillow-5.2.0-cp37-cp37m-win_amd64.whl进行安装。
安装后发现和matplotlib版本不兼容:
(python37) D:\anaconda\userdata\assignment2>pip install Pillow-5.2.0-cp37-cp37m-win_amd64.whl
Processing d:\anaconda\userdata\assignment2\pillow-5.2.0-cp37-cp37m-win_amd64.whl
Installing collected packages: Pillow
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
matplotlib 3.4.2 requires pillow>=6.2.0, but you have pillow 5.2.0 which is incompatible.
Successfully installed Pillow-5.2.0
本来安装的matplotlib版本过高,所以先卸载掉matplotlib 3.4.2。如果直接pip install matplotlib,则会自动安装matplotlib 3.4.2和plillow 8.3.1。于是需要找一个支持python3.7的低版本matplotlib。
查看matplotlib的历史版本:
matplotlib Release history
CS231n的requirements.txt中的matplotlib是2.0.0版,但该版本不支持python3.7,所以选择下载matplotlib2.2.2的whl包:
matplotlib-2.2.2-cp37-cp37m-win_amd64.whl
通过pip install matplotlib-2.2.2-cp37-cp37m-win_amd64.whl命令安装即可。
可行版本:
综上所述,使用版本:
win10
python 3.7.10
matplotlib 2.2.2
pillow 5.2.0
因为是换电脑才重新安装,以前旧电脑上的版本可以用。附上旧电脑上使用的版本,可以运行CS231n作业,以供参考:
win10
python 3.7.4
matplotlib 3.0.3
pillow 8.2.0