解决在统信UOS Linux下缺乏zlib和jpeg库导致的安装Pillow报错问题

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython

一、引言

今天在统信UOS Linux的Python3环境下安装Pillow遇到了问题,导致安装不成功,通过报错信息。

在这里插入图片描述

二、第一执行pip3 install pillow安装报错

为了提高效率,指向了清华的镜像,具体执行指令如下:

root@jwp:~# pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple 

执行安装报错,具体报错信息如下(其中有“…”这样的行表示为了节省篇幅省略了部分输出信息):

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple 
Collecting pillowUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz 
Building wheels for collected packages: pillowRunning setup.py bdist_wheel for pillow ... errorComplete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-jdaprjqf/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-4ptblh1v --python-tag cp37:running bdist_wheelrunning buildrunning build_py...........................................The headers or library files could not be found for zlib,a required dependency when compiling Pillow from source.----------------------------------------Failed building wheel for pillowRunning setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillowRunning setup.py install for pillow ... error----------------------------------------  The headers or library files could not be found for zlib,a required dependency when compiling Pillow from source.Please see the install instructions at:https://pillow.readthedocs.io/en/latest/installation.html Traceback (most recent call last):File "/tmp/pip-install-jdaprjqf/pillow/setup.py", line 997, in <module>......................................File "/tmp/pip-install-jdaprjqf/pillow/setup.py", line 809, in build_extensionsraise RequiredDependencyException(f)__main__.RequiredDependencyException: zlibDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "<string>", line 1, in <module>File "/tmp/pip-install-jdaprjqf/pillow/setup.py", line 1010, in <module>raise RequiredDependencyException(msg)__main__.RequiredDependencyException:The headers or library files could not be found for zlib,a required dependency when compiling Pillow from source.

从上述报错信息看出,执行安装过程中,先用“Running setup.py bdist_wheel for pillow”试图为Pillow构建wheel执行安装失败,安装程序尝试使用“Running setup.py install for pillow ”执行安装,pip运行了setup.py clean来清理之前的构建文件,然后再次尝试安装Pillow,这次没有尝试构建wheel,而是直接运行了setup.py install,但还是安装失败,两次安装失败都报错:

“The headers or library files could not be found for zlib”

从上述输出信息来看,尝试安装Pillow库时遇到了错误。错误信息指出,在编译Pillow时需要的zlib库的头文件或库文件找不到。这通常意味着你的系统可能没有安装zlib开发包,或者Python环境无法找到它们。

二、第一次安装pillow报错解决

为了解决上面的zlib包未安装问题,需要安装zlib库,安装使用以下命令安装:

sudo apt-get update
sudo apt-get install zlib1g-dev

在终端中用root模式执行上述指令,成功安装了zlib。

三、第二次安装pillow报错

还是使用 pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple 命令执行安装,安装继续报错,报错信息和上次不同,具体信息如下:

root@jwp:~# pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simpleLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pillowDownloading https://pypi.tuna.tsinghua.edu.cn/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz (50.5MB)100% |████████████████████████████████| 50.5MB 18kB/s 
Building wheels for collected packages: pillowRunning setup.py bdist_wheel for pillow ... errorComplete output from command /home/administrator/Desktop/aiStudy/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-1cg913na/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-w99sle1g --python-tag cp37:usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]or: -c --help [cmd1 cmd2 ...]or: -c --help-commandsor: -c cmd --helperror: invalid command 'bdist_wheel'----------------------------------------Failed building wheel for pillowRunning setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillowRunning setup.py install for pillow ... errorComplete output from command /home/administrator/Desktop/aiStudy/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-1cg913na/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-05cjw5j6/install-record.txt --single-version-externally-managed --compile --install-headers /home/administrator/Desktop/aiStudy/include/site/python3.7/pillow:running installrunning build----------------------------------------The headers or library files could not be found for jpeg,a required dependency when compiling Pillow from source.Please see the install instructions at:https://pillow.readthedocs.io/en/latest/installation.html----------------------------------------

根据上述错误信息,安装Pillow时遇到了问题,具体报错为:“The headers or library files could not be found for jpeg”,这是因为缺少JPEG库的头文件或库文件,Pillow需要JPEG库来处理JPEG图像。

四、安装JPEG库

统信UOS下JPEG相关库的库名是libjpeg-dev,因此在root模式下执行如下指令安装JPEG库:

sudo apt-get install libjpeg-dev

成功安装了jpeg相关库。

五、第三次尝试安装Pillow

还是执行指令:pip3 install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
执行后输出信息如下:

pip3 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simpleLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pillowUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz
Building wheels for collected packages: pillowRunning setup.py bdist_wheel for pillow ... errorComplete output from command /home/administrator/Desktop/aiStudy/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-gzw0ckya/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-_sn5vftm --python-tag cp37:usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]or: -c --help [cmd1 cmd2 ...]or: -c --help-commandsor: -c cmd --helperror: invalid command 'bdist_wheel'----------------------------------------Failed building wheel for pillowRunning setup.py clean for pillow
Failed to build pillow
Installing collected packages: pillowRunning setup.py install for pillow ... done
Successfully installed pillow-9.5.0

从输出信息看出,在pip首次尝试安装Pillow库时遇到了一个错误,但在第二次尝试中成功安装了Pillow。

第一次尝试安装Pillow时,pip试图为Pillow构建wheel,这是一个优化的Python包分发格式,可以加快安装速度。然而,构建过程中出现了错误,提示invalid command ‘bdist_wheel’。这通常意味着setup.py脚本中存在问题,或者是因为某些依赖项没有正确安装。

第二次尝试:在第一次尝试失败后,pip运行了setup.py clean来清理之前的构建文件。然后,pip再次尝试安装Pillow,这次没有尝试构建轮子,而是直接运行了setup.py install。这次安装成功了,并且Pillow版本9.5.0被成功安装。

尽管在第一次尝试中遇到了问题,但最终Pillow库还是被成功安装了。

可以在Python环境中导入Pillow来确认安装是否成功:

from PIL import Image
image = Image.open(r'/home/administrator/F_DRIVER/pic/cat.jpg')  
image.show()

执行情况如下:
在这里插入图片描述
并成功显示:
在这里插入图片描述

上述代码能够正常运行并显示图片,证明Pillow库已经正确安装并可以使用了。

六、小结

本文介绍了在统信UOS Linux下由于缺乏zlib和jpeg库导致的安装Pillow报错问题的解决过程和解决办法,之所以报错是因为缺省的统信UOS Linux未安装zlib和jpeg库导致的,只需要安装上述库即可解决。

写博不易,敬请支持

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

更多关于统信操作系统及opencv的介绍的内容请参考专栏《国产信创之光》的其他文章。

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring重点知识(个人整理笔记)

目录 1. 为什么要使用 spring&#xff1f; 2. 解释一下什么是 Aop&#xff1f; 3. AOP有哪些实现方式&#xff1f; 4. Spring AOP的实现原理 5. JDK动态代理和CGLIB动态代理的区别&#xff1f; 6. 解释一下什么是 ioc&#xff1f; 7. spring 有哪些主要模块&#xff1f;…

Spring-IoC 基于注解

基于xml方法见&#xff1a;http://t.csdnimg.cn/dir8j 注解是代码中的一种特殊标记&#xff0c;可以在编译、类加载和运行时被读取&#xff0c;执行相应的处理&#xff0c;简化 Spring的 XML配置。 格式&#xff1a;注解(属性1"属性值1",...) 可以加在类上…

计算机网络-HTTP相关知识-基础

HTTP基础 基本概念&#xff1a;HTTP是一种计算机之间交流通信的规范&#xff0c;它允许数据在两点之间传输&#xff0c;这个过程可以包括中转或接力。HTTP不仅仅包括文本&#xff0c;还可以包括图片、音频等超文本。状态码&#xff1a;HTTP状态码分为五类&#xff1a; 2xx&…

一文搞懂 ThreadLocal

简介 ThreadLocal存取的数据&#xff0c;总是与当前线程相关&#xff0c;也就是说&#xff0c;JVM 为每个运行的线程&#xff0c;绑定了私有的本地实例存取空间&#xff0c;从而为多线程环境常出现的并发访问问题提供了一种隔离机制。 ThreadLocal的作用是提供线程内的局部变…

RK3588 NPU 研究(二)

RK提供了两个模型&#xff0c;mobilenet和YOLO5。 mobilenet模型相对小&#xff0c;使用起来不是很明显yolo5模型大一些&#xff0c;可以对88种目标进行检测&#xff0c;提供检测的结果包括类别、包围框坐标、可信度等信息。基于rknn_yolov5_demo进行分析。 rknn_yolov5_demo基…

TIMO后台管理系统-入门,简单易懂教程-技巧总结

Timo 要说的话&#xff1a; 这个项目的技术栈是JPA&#xff0c;会有很多文件去追踪&#xff0c;这些文件大多是使用内部的代码生成器做的&#xff0c;API文档做得不错&#xff0c;之前没做过项目的同学花一天了解API文件还是不错的 资料&#xff1a; 文档&#xff1a;http:…

360手机位置穿越修复 360手机位置穿越 360手机刷机 360手机黑科技 360位置穿越下载

360手机位置穿越修复 360手机位置穿越 360手机刷机 360手机黑科技 360位置穿越下载 360手机位置穿越钉钉打卡 360手机位置穿越微信打卡 360手机位置穿越滴滴打卡 360手机位置穿越美团打卡 360手机位置穿越 360手机位置穿越下载 360手机位置穿越 支持钉钉、微信等位置修改…

若依自带vue-cropper上传图片(可旋转、缩放)

2024.4.4今天我学习了如何使用若依的vue-cropper上传图片组件&#xff0c;在工作中遇到一个需求&#xff0c;需要对上传的图片进行旋转的操作&#xff0c;然后我先找到el-upload组件&#xff0c;使用之后发现它有一个自动上传和非自动上传的功能&#xff0c;是不是就可以通过非…

vulhub中Struts2-001 远程代码执行漏洞复现

该漏洞因为用户提交表单数据并且验证失败时&#xff0c;后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析&#xff0c;然后重新填充到对应的表单数据中。例如注册或登录页面&#xff0c;提交失败后端一般会默认返回之前提交的数据&#xff0c;由于后端使用 %{v…

【快速解决】python缺少了PyQt5模块的QtMultimedia子模块

目录 问题描述 问题原因 解决方法 成功示范 问题描述 Traceback (most recent call last): File "d:\桌面\python项目\DesktopWords-master\main.py", line 4, in <module> from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent ModuleNotFoundEr…

设计模式总结-工厂方法模式

工厂方法模式 简单工厂模式的不足模式动机模式定义模式结构模式分析模式实例与解析 简单工厂模式的不足 在简单工厂模式中&#xff0c;只提供了一个工厂类&#xff0c;该工厂类处于对产品类进行实例化的中心位置&#xff0c;它知道每一个产品对象的创建细节&#xff0c;并决定…

Windows集群部署项目

目录 一&#xff0c;环境准备 1.1.安装MySQL 1.2.安装JDK 1.3.安装TomCat 1.4.安装Nginx 二&#xff0c;部署 2.1.后台服务部署 2.2.Nginx配置负载均衡及静态资源部署 一&#xff0c;环境准备 1.1.安装MySQL 可以参考博客&#xff1a;http://t.csdnimg.cn/A75bg 1.2.…

RP2040开发笔记

RP2040 采用合宙的RP2040(板载4MB Flash)&#xff0c; 所有开发资料参考官方&#xff1a;树莓派 Pico 中文站

2024整理一些前端面试题库一

以下是一些2024年前端面试题及其答案&#xff1a; HTML、XML、XHTML之间的区别是什么&#xff1f; HTML是一种标记语言&#xff0c;用于创建网页&#xff0c;定义页面的结构和内容&#xff0c;如标题、段落、表格、链接、图片等。 XML&#xff08;可扩展标记语言&#xff09;…

【活动创作】未来AI技术方面会有哪些创业机会

放假期间突然看到这个活动创作&#xff0c;觉得很有意思&#xff0c;既然如此&#xff0c;我就先让AI来回答一下吧&#xff0c;哈哈 1、文心一言 首先来看看文心一言的回答&#xff1a; 2、讯飞星火 然后来看看讯飞星火的回答&#xff1a; 3、个人感受 最后来说说给人感受吧&am…

查看MySQL版本的方式

文章目录 一、使用cmd输入命令行查看二、在mysql客户端服务器里查询 一、使用cmd输入命令行查看 1、打开 cmd &#xff0c;输入命令行&#xff1a; mysql --version 2、还是打开cmd&#xff0c;输入命令行&#xff1a;mysql -V (注意了&#xff0c;此时的V是个大写的V) 二、…

Linux课程____LVM(逻辑卷管理器)

LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层&#xff0c;它提供了一个抽象的卷组&#xff0c;可以把多块硬盘进行卷组合并。 这样一来&#xff0c;用户不必关心物理硬盘设备的底层架构和布局&#xff0c;就可以实现对硬盘分区的动态调整。 动态调整磁盘容量&#xff…

【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美(含源码仅此一份,先到先得)

【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美&#xff08;含源码仅此一份&#xff0c;先到先得&#xff09; 目录 【GO语言卵细胞级别教程】11.探索Go语言的面向对象编程之美&#xff08;含源码仅此一份&#xff0c;先到先得&#xff09;1.面向对象的引用1.1简介1…

linux 搭建Samba服务

Samba简介 SAMBA是⼀个实现不同操作系统之间⽂件共享和打印机共享的⼀种SMB协议的免费软件&#xff0c; SMB(Server Message block)协议是window下所使⽤的⽂件共享协议&#xff0c;我们在linux系统或 者其类unix系统当中可以通过samba服务来实现SMB功能。 &#xff08;1&…

B/S架构SaaS模式 医院云HIS系统源码,自主研发,支持电子病历4级

B/S架构SaaS模式 医院云HIS系统源码&#xff0c;自主研发&#xff0c;支持电子病历4级 系统概述&#xff1a; 一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务&#xff0c;提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查…