簡體   English   中英

Python 枕頭 CentOS 7 安裝錯誤

[英]Python Pillow CentOS 7 install errors

我有一個安裝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

我可以通過以下方式成功地將 Pillow 直接安裝在盒子上:

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"但沒有運氣..

關於下一步嘗試什么的任何建議?

安裝 Pillow==8.4.0 時,這些庫位於

/your_venv/lib/python3.6/site-packages/Pillow.libs/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM