概述
最近在编译Python3.7时发现了一个异常--zipimport.ZipImportError: can't decompress data,这个也算比较常见的一个问题了,所以这里简单记录一下解决的过程,仅做参考。
报错信息
Traceback (most recent call last): File "/opt/Python-3.7.0/Lib/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/opt/Python-3.7.0/Lib/runpy.py", line 85, in _run_code exec(code, run_globals) File "/opt/Python-3.7.0/Lib/ensurepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/opt/Python-3.7.0/Lib/ensurepip/__init__.py", line 204, in _main default_pip=args.default_pip, File "/opt/Python-3.7.0/Lib/ensurepip/__init__.py", line 117, in _bootstrap return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/opt/Python-3.7.0/Lib/ensurepip/__init__.py", line 27, in _run_pip import pip._internal zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] 错误 1
截图如下:
思路
在CentOS以及其他的Linux系统中遇到安装包安装错误的原因,大多数都是因为缺少依赖包导致的,所以对于错误:zipimport.ZipImportError: can’t decompress data,是因为缺少zlib 的相关工具包导致的,知道了问题所在,那么我们只需要安装相关依赖包即可,
1、打开终端,输入一下命令安装zlib相关依赖包:
# yum -y install zlib*
2、进入 python安装包,修改Module路径的setup文件:
# vim Modules/Setup --找到以下代码,去掉注释: #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
另外,在这里说明一下,对于在编译安装的过程中遇到这个问题,安装完上面的依赖包后,即可重新进入终端,在Python路径下执行:
make && make install
重新编译安装即可。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
本文暂时没有评论,来添加一个吧(●'◡'●)