针对Pillow的安装问题

在配置cuckoo时, 出现了以下问题.

Building wheels for collected packages: pillow
Building wheel for pillow (setup.py) ... error
Complete output from command /root/xenv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-oMIrqC/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-MCVgxM --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageTk.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/features.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageQt.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TiffTags.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageOps.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageChops.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImagePath.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageColor.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ExifTags.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFont.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageStat.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageWin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PSDraw.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMath.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/__init__.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TarIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageCms.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMode.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Image.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/_util.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageShow.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
running egg_info
writing Pillow.egg-info/PKG-INFO
writing top-level names to Pillow.egg-info/top_level.txt
writing dependency_links to Pillow.egg-info/dependency_links.txt
reading manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.sh'
no previously-included directories found matching 'docs/_static'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.landscape.yaml'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'build_children.sh'
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
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.linux-x86_64-2.7/PIL
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-oMIrqC/pillow/setup.py", line 767, in
zip_safe=not debug_build(), )
File "/root/xenv/local/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/root/xenv/local/lib/python2.7/site-packages/wheel/bdist_wheel.py", line 192, in run
self.run_command('build')
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/distutils/command/build.py", line 128, in run
self.run_command(cmd_name)
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/tmp/pip-install-oMIrqC/pillow/setup.py", line 512, in build_extensions
' using --disable-%s, aborting' % (f, f))
ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

—————————————-

Failed building wheel for pillow
Running setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillow, scapy, pythonaes, peepdf, idna, asn1crypto, enum34, ipaddress, pycparser, cffi, cryptography, pyOpenSSL, requests, python-dateutil, pyrsistent, functools32, attrs, jsonschema, pymisp, python-magic, pymongo, olefile, sflock, pefile2, cuckoo
Found existing installation: Pillow 5.4.1
Uninstalling Pillow-5.4.1:
Successfully uninstalled Pillow-5.4.1
Running setup.py install for pillow ... error
Complete output from command /root/xenv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-oMIrqC/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 /tmp/pip-record-DPxIXx/install-record.txt --single-version-externally-managed --compile --install-headers /root/xenv/include/site/python2.7/pillow:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageTk.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/features.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageQt.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TiffTags.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageOps.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageChops.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImagePath.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageColor.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ExifTags.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageFont.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageStat.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageWin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PSDraw.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMath.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/__init__.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TarIO.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageCms.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageMode.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Image.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/_util.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageShow.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
running egg_info
writing Pillow.egg-info/PKG-INFO
writing top-level names to Pillow.egg-info/top_level.txt
writing dependency_links to Pillow.egg-info/dependency_links.txt
reading manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.sh'
no previously-included directories found matching 'docs/_static'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.landscape.yaml'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'build_children.sh'
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
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.linux-x86_64-2.7/PIL
running build_ext
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-oMIrqC/pillow/setup.py", line 767, in
zip_safe=not debug_build(), )
File "/root/xenv/local/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/root/xenv/local/lib/python2.7/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib/python2.7/distutils/command/install.py", line 601, in run
self.run_command('build')
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/distutils/command/build.py", line 128, in run
self.run_command(cmd_name)
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/tmp/pip-install-oMIrqC/pillow/setup.py", line 512, in build_extensions
' using --disable-%s, aborting' % (f, f))
ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

—————————————-

Rolling back uninstall of Pillow
Moving to /root/xenv/lib/python2.7/site-packages/PIL/
from /root/xenv/lib/python2.7/site-packages/~IL
Moving to /root/xenv/lib/python2.7/site-packages/Pillow-5.4.1.dist-info/
from /root/xenv/lib/python2.7/site-packages/~illow-5.4.1.dist-info
Command "/root/xenv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-oMIrqC/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 /tmp/pip-record-DPxIXx/install-record.txt --single-version-externally-managed --compile --install-headers /root/xenv/include/site/python2.7/pillow" failed with error code 1 in /tmp/pip-install-oMIrqC/pillow/

解决办法是安装完整的依赖:

apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev