讲师中心 微信公众号
AI工具推荐 视频效率加速

pip安装pillow库的方法

千敏同学_4059

千敏同学_4059

发布时间:2026-09-27 13:03:16

|

158人浏览过

|

来源于php中文网

原创

直接运行pip install pillow失败的主因是Pillow依赖系统级图像库(如libjpeg、zlib),在macOS/Linux上易因缺少开发头文件(如jpeglib.h)导致编译失败;Windows则多因环境冲突或权限问题,而非依赖缺失。

pip安装pillow库的方法

pip install pillow 直接运行失败的常见原因

直接敲 pip install pillow 报错,大概率不是命令写错了,而是底层编译环境或依赖缺失。Pillow 不是纯 Python 库,它依赖系统级图像处理库(如 libjpeg、libpng、freetype),在 Windows 上通常由预编译二进制包(.whl)覆盖,但在 macOS 或 Linux 上容易卡在编译阶段。

常见错误现象包括:

  • ERROR: Could not build wheels for pillow
  • fatal error: jpeglib.h: No such file or directory
  • zlib not available

解决思路不是硬刚编译,而是优先让 pip 拿到匹配你系统的 wheel 包:

  • 确保 pip 版本 ≥ 21.0:python -m pip install --upgrade pip
  • 检查 Python 架构(Intel/Apple Silicon)和版本(3.7+),wheel 包必须三者严格匹配
  • 临时换国内镜像源提速并避开网络中断:pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

Windows 上 pip install pillow 失败后该做什么

Windows 用户遇到 “failed building wheel” 或 “access denied” 类错误,基本不用装系统依赖,问题出在环境隔离或权限上。

YouTube Transcript Pipeline Lite
YouTube Transcript Pipeline Lite

运行轻量级YouTube转录工作流:转录、归属清理、翻译和打包,使用最少工具。用于可重复转录。

下载
  • 不要用 CMD 以管理员身份运行——反而可能触发路径权限混乱;改用普通用户权限的 PowerShell 或 Windows Terminal
  • 如果已激活虚拟环境,确认没同时在 base 环境里 pip install(which pip 或 where pip 查路径)
  • 卸载残留的 PIL(不是 pillow):pip uninstall PIL —— Pillow 和 PIL 不能共存,哪怕只留一个 import 就会冲突
  • 极少数情况是杀毒软件拦截了 .whl 解压过程,可临时禁用再试

macOS / Linux 下 pip install pillow 缺头文件怎么办

报 jpeglib.h not found 或 freetype/ft2build.h,说明系统缺少开发头文件,pip 无法编译 C 扩展。

  • macOS(M1/M2/M3):运行 brew install libjpeg libpng libtiff freetype,再补软链:export PATH="/opt/homebrew/opt/libjpeg/bin:$PATH"(Intel 用户路径为 /usr/local)
  • Ubuntu/Debian:sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libfreetype6-dev
  • CentOS/RHEL:sudo yum install libjpeg-devel libpng-devel libtiff-devel freetype-devel
  • 装完别忘了重新运行 pip install pillow,不是升级已有安装

验证 pillow 是否真正可用,不止 import 成功

很多人 from PIL import Image 不报错就以为装好了,但实际调用时崩在 Image.open() 或 show() —— 这是因为部分功能依赖外部程序(如 macOS 的 Preview、Windows 的 Photos)或缺失解码器。

  • 最简验证代码:
    from PIL import Image<br>print(Image.__version__)<br>img = Image.new("RGB", (10, 10), color="red")<br>img.save("/tmp/test.png")
  • 如果 save() 报 OSError: encoder jpeg not available,说明 JPEG 支持没编译进去,需回退检查系统依赖是否完整安装
  • 避免用 img.show() 验证——它依赖系统 GUI 环境,在服务器或 SSH 会话中必然失败

真正麻烦的从来不是“装上”,而是“所有格式读写都稳”。一旦发现某类图片打不开,别急着重装,先跑 python -c "from PIL import features; print(features.check('jpeg'))" 看具体缺哪个解码器。

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1591

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

3824

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1589

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

22057

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2707

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2767

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1103

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

596

2023.08.10

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python venv官方模块文档
Python venv官方模块文档

共0课时 | 0人学习

pip官方命令参考
pip官方命令参考

共0课时 | 0人学习

pip安装和使用保姆级教程
pip安装和使用保姆级教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn