«Не удалось найти заголовки или файлы библиотеки для jpeg» при установке Pillow в Alpine LinuxPython

Программы на Python
Ответить
Anonymous
 «Не удалось найти заголовки или файлы библиотеки для jpeg» при установке Pillow в Alpine Linux

Сообщение Anonymous »

Я пытаюсь запустить Scrapy Python в контейнере Docker на основе python:alpine. Раньше он работал, но теперь я хотел бы использовать конвейер изображений Scrapy, который требует установки Pillow.

В качестве упрощенного примера я попробовал следующий Dockerfile

В качестве упрощенного примера я попробовал следующий Dockerfile

код>:

Код: Выделить всё

FROM python:alpine
RUN apk --update add libxml2-dev libxslt-dev libffi-dev gcc musl-dev libgcc openssl-dev curl
RUN apk add libjpeg zlib tiff freetype lcms libwebp tcl openjpeg
RUN pip install Pillow
Однако, когда я пытаюсь построить это, я получаю сообщение об ошибке следующего содержания:

Код: Выделить всё

Traceback (most recent call last):
File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 744, in 
zip_safe=not debug_build(), )
File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/local/lib/python3.6/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 545, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: jpeg

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in 
File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 756, in 
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
Я просмотрел требования на https://pillow.readthedocs.io/en/latest ... ation.html и попытался найти соответствующие пакеты для Alpine, хотя один Мне не удалось найти libimagequant, так что это может быть «виновником». Тем не менее, в сообщении трассировки и ошибки говорится, что jpeg отсутствует, тогда как я установил openjpeg.

Как я могу изменить Dockerfile, чтобы запускалась установка Pip Pillow?

Подробнее здесь: https://stackoverflow.com/questions/440 ... -pillow-on
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»