我有一个安装Pillow==8.4.0的python项目。在使用Docker进行本地测试时,它可以正常工作。
# Dockerfile
ARG PIP_CMD='pip install --no-cache-dir'
ARG APK_ADD='apk add --no-cache'
# PIL packages
ARG PIL_PKGS='jpeg-dev zlib-dev libjpeg'
ARG PKGS='git libpq openssh-client'
# development packages that will be installed before pip is run and purged after
ARG DEV_PKGS='linux-headers postgresql-dev python3-dev gcc g++ musl-dev libpng-dev libressl-dev libffi-dev'
$PIP_CMD --upgrade 'pip<20.3' && \
if ! $PIP_CMD -r requirements.txt; then $APK_ADD $PKGS $PIL_PKGS && $APK_ADD --virtual .build-deps $DEV_PKGS && $PIP_CMD -r requirements.txt && apk del .build-deps; fi ...我们使用python3.6 setup.py bdist_rpm作为rpm构建项目,然后将其安装在centos7框上。rpm的安装失败,因为它说该项目缺少依赖项(似乎是枕套):
# yum install project-1.0
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: download.cf.centos.org
* epel: iad.mirror.rackspace.com
* extras: download.cf.centos.org
* updates: download.cf.centos.org
Resolving Dependencies
--> Running transaction check
---> Package project-1.0.x86_64 0:1.0.29.dev0-1.202201181623.el7 will be updated
---> Package project-1.0.x86_64 0:1.0.29.dev0-1.202201181700.el7 will be an update
--> Processing Dependency: libjpeg-183418da.so.9.4.0(LIBJPEG_9.0)(64bit) for package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64
--> Processing Dependency: liblzma-d540a118.so.5.2.5(XZ_5.0)(64bit) for package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64
--> Processing Dependency: libpng16-213e245f.so.16.37.0(PNG16_0)(64bit) for package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64
--> Processing Dependency: libz-dd453c56.so.1.2.11(ZLIB_1.2.3.4)(64bit) for package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64
--> Processing Dependency: libz-dd453c56.so.1.2.11(ZLIB_1.2.9)(64bit) for package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64
--> Finished Dependency Resolution
Error: Package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64 (project-yum)
Requires: libjpeg-183418da.so.9.4.0(LIBJPEG_9.0)(64bit)
Error: Package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64 (project-yum)
Requires: libz-dd453c56.so.1.2.11(ZLIB_1.2.9)(64bit)
Error: Package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64 (project-yum)
Requires: libpng16-213e245f.so.16.37.0(PNG16_0)(64bit)
Error: Package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64 (project-yum)
Requires: liblzma-d540a118.so.5.2.5(XZ_5.0)(64bit)
Error: Package: project-1.0-1.0.29.dev0-1.202201181700.el7.x86_64 (project-yum)
Requires: libz-dd453c56.so.1.2.11(ZLIB_1.2.3.4)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest我可以通过以下方式成功地将枕头直接安装在盒子上:
python3 -m pip install Pillow
Collecting Pillow
Using cached Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
Installing collected packages: Pillow
Successfully installed Pillow-8.4.0我还尝试安装这里指定的依赖项( https://pillow.readthedocs.io/en/stable/installation.html )。
yum install zlib libjpeg在安装project-1.0时仍然会看到上面的错误
我也尝试过像这里建议的那样,将一些*.so文件从/usr/lib64/...链接到/usr/lib/...:PIL /JPEG Library: "decoder jpeg not available",但没有运气。
对下一步该做什么有什么建议吗?
发布于 2022-08-15 10:29:32
安装Pillow==8.4.0时,这些库位于
/your_venv/lib/python3.6/site-packages/Pillow.libs/
https://stackoverflow.com/questions/70776951
复制相似问题