簡體   English   中英

在 Linux 中安裝 Pillow(Python 模塊)時失敗

[英]Fail during installation of Pillow (Python module) in Linux

我正在嘗試使用 pip 安裝 Pillow(Python 模塊),但它會引發此錯誤:

ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

所以正如錯誤所說,我試過:

pip install pillow --global-option="--disable-jpeg"

但它失敗了:

error: option --disable-jpeg not recognized

任何提示如何處理它?

這里有一個針對 Pillow 的錯誤報告,這表明從 Pillow 3.0.0 開始,現在需要libjpegzlib

Pillow on Linux 的安裝說明給出了如何安裝這些包的建議。 請注意,並非您的機器上可能缺少以下所有軟件包(評論表明實際上只缺少libjpeg8-dev )。

pip / PyPi (枕頭>3.4.2)

最新版本的 Pillow 在 PyPi 上作為輪子提供——Python 的新標准打包機制。 這些預構建包包括所有必要的二進制依賴項以允許 Pillow 運行,如果你想使用 PyPi 安裝 Pillow,應該使用這些預構建包

要使用輪子,你需要有pip>=1.4的版本。 如果您使用的是早期版本 ( pip --version ),請使用以下命令升級 pip:

pip install --upgrade pip 

pip升級后, pip install將默認使用平台特定的 wheel 文件(如果可用)。 使用以下命令將 Pillow 升級到 PyPi 上可用的最新版本:

pip install --upgrade pillow

Ubuntu 12.04 LTS 或 Raspian Wheezy 7.0

sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk

Ubuntu 14.04

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Ubuntu 18.04

sudo apt install libjpeg8-dev zlib1g-dev

軟呢帽 20

libjpeg8-dev的 Fedora 20 等價物是libjpeg-devel

sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel

Mac OS X(通過 Homebrew)

在帶有Homebrew的 Mac OS X 上,可以使用以下方法修復此問題:

brew install libjpeg zlib

您可能還需要使用以下命令強制鏈接 zlib:

brew link zlib --force

2019 年 4 月更新:在 Mojave 中,以上內容將不起作用,您需要按照Pillow 上的錯誤報告運行以下內容

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

2016 年 7 月更新:主存儲庫中不再提供zlib的公式(Homebrew 將提示您安裝lzlib ,這是一個不同的庫,不會解決此問題)。

dupes存儲庫中一個可用的公式。 您可以點擊此存儲庫,然后正常安裝:

brew tap homebrew/dupes
brew install zlib

或者你可以通過xcode安裝zlib ,如下所示:

xcode-select --install

感謝 phoenix、Panos Angelopoulou、nelsonvarela、benjaminz 和 Kal 的評論

安裝這些后,Pillow 的 pip 安裝應該可以正常工作。

在 Raspberry pi II 上,我遇到了同樣的問題。 嘗試以下操作后,我解決了問題。 解決辦法是:

sudo apt-get update
sudo apt-get install libjpeg-dev

謝謝@mfitzp。 在我的例子 (CentOS) 中,這些庫在 yum 存儲庫中不可用,但實際上解決方案更簡單。 我做了什么:

sudo yum install python-devel
sudo yum install zlib-devel
sudo yum install libjpeg-turbo-devel

現在枕頭的安裝成功完成。

最快的解決方法是升級 pip。 對我有用嗎:

pip install --upgrade pip

這對我解決 jpeg 和 zlib 錯誤很有用:

C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"

這對我有用。

   `sudo apt-get install libjpeg-dev`
brew install zlib

在 OS X 上不再工作,而是提示安裝lzlib 安裝那沒有幫助。

相反,你安裝 XCode 命令行工具,應該安裝zlib

xcode-select --install

我有ValueError: zlib is required unless explicitly disabled using --disable-zlib但將 pip 從 7.x 升級到 8.y 解決了這個問題。

所以我會先嘗試更新工具。

這可以使用:

pip install --upgrade pip

替代方案,如果您不想安裝 libjpeg:

CFLAGS="--disable-jpeg" pip install pillow

來自https://pillow.readthedocs.io/en/3.0.0/installation.html#external-libraries

任何使用 Python 3.9 的人都只能安裝 Pillow 8.0,低於此版本的任何版本都無法運行。 欲了解更多信息,請點擊此處

所以你可以這樣運行它:

pip install Pillow==8.0.0

順便說一句,這是在 MacOS Big Sur 11.2 上的pip 21.0.1 (python 3.9)上測試的

工作成功:

 sudo apt install libjpeg8-dev zlib1g-dev 

嘗試

pip install pillow

如果不起作用,請嘗試清除

cache by pip install --upgrade pip

然后再次運行

pip install pillow

在 debian / ubuntu 上你只需要:libjpeg62-turbo-dev

所以一個簡單的sudo apt install libjpeg62-turbo-dev和一個pip install pillow

暫無
暫無

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

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