[英]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 開始,現在需要libjpeg
和zlib
。
Pillow on Linux 的安裝說明給出了如何安裝這些包的建議。 請注意,並非您的機器上可能缺少以下所有軟件包(評論表明實際上只缺少libjpeg8-dev
)。
最新版本的 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
sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
sudo apt install libjpeg8-dev zlib1g-dev
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
在帶有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.