opensuse编译安装Python3后缺少zlib
opensuse编译安装Python3后缺少zlib
前言
由于opensuse包管理安装的是python2.7,而最近我又用编译安装了python3。
之后使用virtualenv虚拟环境指定创建python3版本的隔离环境时就出现了错误,报缺少zlib模块。

尝试过直接用yzpper安装zlib会报找不到这个模块,而重新编译安装python3时指定--with-zlib也是找不到。所以需要对zlib也进行编译安装。
编译安装
官网http://www.zlib.net/下载最新版本的zlib源码文件,我下载的是zlib-1.2.11.tar.gz
安装zlib:
tar xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
建议默认路径安装,编译三部曲:
./configure
make
make install
python导入zlib
如下图,编译安装完成zlib后,进python3测试己经可能正常导入zlib包。

zlib安装完后,libz.a在/usr/local/lib/,opensuse中zlib.h默认放在/usr/local/include/中。
其它linux的zlib.h文件一般在/usr/include中。
重新编译python并指定zlib
如果还发生少数导入不成功,或你想直接软链接升级python旧版本的,可能需要重新编译python。
进入Python源码文件目录,重新编译Python
sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib=/usr/include
或者:
./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib-dir=/usr/local/lib
都可以完成python对zlib库的支持,在python源码中直接import zlib即可使用zlib了。
2018-8-15 铁乐与猫
end
opensuse编译安装Python3后缺少zlib的更多相关文章
- 编译安装python3.6后pip3无法安装模块问题处理
编译安装python3.6之后,使用pip3命令安装第三方库效果如图所示: pip is configured with locations that require TLS/SSL, however ...
- OSX编译安装Python3及虚拟开发环境Virtualenv
0X00.前言 因为工作原因,最近主要做Python开发,刚好电脑系统重装之后所有的东西都需要重新配置.此文主要记录OSX下通过源码编译安装Python3以及安装虚拟开发环境Virtualenv. 0 ...
- 编译安装Python3
转发https://www.cnblogs.com/resn/p/10135953.html 编译安装Python3 安装依赖 yum install -y ncurses-libs zlib-dev ...
- centos7编译安装Python3所需要的库(模块)依赖
在centos中编译安装python3环境,第三方的库 实战的编辑环境: 1.VMware虚拟机 2.centos7 依赖包经过百度搜集以及之前安装Python3报错搜集(centos7反反复复安 ...
- CentOS 7编译安装Python3.7.X
在CentO S上通过编译安装Python3.7,添加python3软链,并使用python3. 环境 安装环境如下: Windows 10 Pro VMWare Workstation 15 Pro ...
- Linux 编译安装python3
编译安装python3的步骤 1.很重要,必须执行此操作,安装好编译环境,c语言也是编译后运行,需要gcc编译器golang,对代码先编译,再运行,python是直接运行yum install gcc ...
- 安装python3后使用pip和pip3的区别是什么?
安装python3后使用pip和pip3的区别是什么? 1.其实这两个命令效果是一样的,没有区别: (1)比如安装库numpy,pip3 install numpy或者pip install ...
- redhat 7.6 安装Python3后配置 yum pip3 升级openssl
安装python3后需要重新配置yum 配置yum vim /usr/bin/yum #! /usr/bin/python #修改前#! /usr/bin/python2 #修改后 vim /usr/ ...
- python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz RHEL 8 install Python 3 or Python 2 using yum 编译安装 python3.7.4 . OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz Modules/Setup.dist https://askubuntu ...
随机推荐
- CentOS常用软件安装
yum install *firefox* yum install flash-plugin
- 调用web service出现“请求被中止: 请求已被取消。”
在制作(www.helpqy.com)的后台时,使用StreamWrite向httpwebrequest.getrequeststream中写入Post数据后,一调用httpwebresponse.g ...
- 疯狂Java讲义PDF
java学习资料,仅供学习交流,自行取用↓ 链接:https://pan.baidu.com/s/1dF1wCST 密码:i75g
- linux 安装 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash 或者 wget -qO- htt ...
- Oracle基础语句练习记录
1.往scott的emp表插入一条记录 insert into scott.emp(empno,ename,job) values(9527,'EAST','SALESMAN'); 2.scott的e ...
- C# winform 无边框 窗体的拖动
当船体设置为FormborderStyle='none' [DllImport("user32.dll")] public static extern bool ReleaseCa ...
- JS forEach()与map() 用法(转载)
JavaScript中的数组遍历forEach()与map()方法以及兼容写法 原理: 高级浏览器支持forEach方法语法:forEach和map都支持2个参数:一个是回调函数(item,ind ...
- HDU4280(KB11-G 最大流)
Island Transport Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- 微信小程序 发现之旅(三)—— 组件之间的参数传递
一.URL 传参 当使用 navigateTo() 方法跳转页面的时候,可以在 url 后面接 query 参数 然后在 Page 页面的生命周期函数 onLoad 中可以接收到这些参数 这种方式只能 ...
- ThinkPHP_5对数据库的CURL操作
Db::query();Db::execute(); Db::table()->select(); 所有数据,二维数组,结果不存在时返回空数组Db::table->find(); 一条数据 ...