gpt4 book ai didi

python - "The headers or library files could not be found for jpeg"在 Alpine Linux 上安装 Pillow

转载 作者:IT老高 更新时间:2023-10-28 12:38:24 30 4
gpt4 key购买 nike

我正在尝试在基于 python:alpine 的 Docker 容器中运行 Python 的 Scrapy .它以前可以工作,但现在我想使用 Scrapy 的 Image Pipeline这需要我安装 Pillow。

作为一个简化示例,我尝试了以下 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 <module>
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 "<string>", line 1, in <module>
File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 756, 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

我通过了 https://pillow.readthedocs.io/en/latest/installation.html 上的要求并试图为 Alpine 找到相应的包,虽然我找不到 libimagequant,所以这可能是“罪魁祸首”。尽管如此,回溯和错误消息似乎是在说 jpeg 丢失,而我已经安装了 openjpeg

如何修改 Dockerfile 以便 pip install Pillow 运行?

最佳答案

debian

sudo apt install libjpeg-dev zlib1g-dev
pip install Pillow

关于python - "The headers or library files could not be found for jpeg"在 Alpine Linux 上安装 Pillow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043906/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com