#python #matplotlib #raspberry-pi
Вопрос:
Мне нужно установить matplotlib на мой RPi, но он выдает ошибку, которую я не смог решить. Уже проверил, установлены ли зависимости, и полностью обновил систему. Я думаю, что это как-то связано с пакетом подушек, о котором я совсем не знаю. Я запускаю python 3.9.0 с PyEnv на модели RPi 2 B
pi@raspberrypi:~ $ pip3 install matplotlib
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting matplotlib
Using cached matplotlib-3.4.2.tar.gz (37.3 MB)
Requirement already satisfied: cycler>=0.10 in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from matplotlib) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from matplotlib) (1.3.1)
Requirement already satisfied: numpy>=1.16 in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from matplotlib) (1.20.3)
Collecting pillow>=6.2.0
Using cached Pillow-8.2.0.tar.gz (47.9 MB)
Requirement already satisfied: pyparsing>=2.2.1 in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from matplotlib) (2.4.7)
Requirement already satisfied: python-dateutil>=2.7 in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from matplotlib) (2.8.1)
Requirement already satisfied: six in ./.pyenv/versions/3.9.0/lib/python3.9/site-packages (from cycler>=0.10->matplotlib) (1.16.0)
Using legacy 'setup.py install' for matplotlib, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pillow, since package 'wheel' is not installed.
Installing collected packages: pillow, matplotlib
Running setup.py install for pillow ... error
ERROR: Command errored out with exit status 1:
command: /home/pi/.pyenv/versions/3.9.0/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/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('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-u4dzh6hu/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.pyenv/versions/3.9.0/include/python3.9/pillow
cwd: /tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/
Complete output (175 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.9
creating build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageFont.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/_binary.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImagePath.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/SunImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageOps.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageGrab.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/_tkinter_finder.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/FontFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageDraw.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageChops.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PngImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageMode.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PdfParser.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/FtexImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/features.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageShow.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/WalImageFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/__main__.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageFilter.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/Image.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageStat.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ExifTags.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/CurImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageTransform.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PSDraw.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/FliImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageTk.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/JpegPresets.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/TarIO.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/BdfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/MicImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/TiffTags.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageMorph.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageQt.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageMath.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/DdsImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/BlpImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PcfFontFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GimpGradientFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageSequence.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/MspImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PyAccess.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GdImageFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/__init__.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageColor.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GifImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageDraw2.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImagePalette.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/_util.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/_version.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ContainerIO.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageEnhance.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/ImageWin.py -> build/lib.linux-armv7l-3.9/PIL
copying src/PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-3.9/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'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.clang-format'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'codecov.yml'
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 '.ci'
writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
running build_ext
The headers or library files could not be found for jpeg,
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 "/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/setup.py", line 976, in <module>
setup(
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/site-packages/setuptools/__init__.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/command/install.py", line 546, in run
self.run_command('build')
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 87, in run
_build_ext.run(self)
File "/home/pi/.pyenv/versions/3.9.0/lib/python3.9/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/setup.py", line 788, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: jpeg
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/setup.py", line 1033, in <module>
raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:
The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.
Please see the install instructions at:
https://pillow.readthedocs.io/en/latest/installation.html
----------------------------------------
ERROR: Command errored out with exit status 1: /home/pi/.pyenv/versions/3.9.0/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-st8_ht2g/pillow_b951058e3bcc45f685a9be3bbb3182b2/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('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-u4dzh6hu/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/.pyenv/versions/3.9.0/include/python3.9/pillow Check the logs for full command output.
Ответ №1:
Вы уверены, что зависимости установлены?
Я бы рекомендовал выполнить
sudo apt-get install libjpeg-dev zlib1g-dev
а затем снова пытаюсь установить matplotlib.