在 Linux 中安装 Pillow(Python 模块)时失败

新手上路,请多包涵

我正在尝试使用 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

任何提示如何处理它?

原文由 mchfrnc 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 886
2 个回答

谢谢@mfitzp。在我的情况下(CentOS),这些库在 yum 存储库中不可用,但实际上解决方案更容易。我做了什么:

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

现在枕头的安装成功完成。

原文由 mchfrnc 发布,翻译遵循 CC BY-SA 3.0 许可协议

此处 报告了 Pillow 的错误,这表明从 Pillow 3.0.0 开始 需要 libjpegzlib

Linux 上 Pillow 的 安装说明 提供了如何安装这些软件包的建议。请注意,并非您的机器上可能缺少以下所有软件包(评论表明实际上仅缺少 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 将默认使用平台特定的轮文件(如果它们可用)。使用以下命令将 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

Fedora 20 相当于 libjpeg8-devlibjpeg-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 安装应该可以正常工作。

原文由 mfitzp 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题