Centos7 编码编译python3.8

1、下载python3.8源码

官网地址:https://www.python.org/downloads/source/,搜索3.8.1,tgz和xz我认为都差不多,安全起见,下载源码包更大的tgz。

2、py编译安装

[root@google /]# mv Python-3.8.1.tgz /opt/
[root@google /]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
[root@google /]# cd /opt/
[root@baidu1 opt]# tar -xvf Python-3.8.1.tgz 
[root@baidu1 opt]# cd Python-3.8.1/
[root@google Python-3.8.1]# $ ./configure --prefix=/usr/local/python381 --enable-shared
[root@google Python-3.8.1]# $ make
[root@google Python-3.8.1]# $ make install

 --enable-shared:强烈建议开启(开启后会生成.so文件,不开启是.a文件)。启用共享,方便其他依赖python的一些内置库(比如 mod_wsgi) 的资源的正常安装。 

3、添加软链接

$ ln -s /usr/local/python381/bin/python3.8 /usr/bin/python3.8
$ ln -s /usr/local/python381/bin/pip3.8 /usr/bin/pip3.8

4、验证

python3.8 -V

5、配置环境变量

export PYTHON_HOME=/usr/local/python381
export PATH=$PYTHON_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PYTHON_HOME/lib:$LD_LIBRARY_PATH

 # python3.7以后的版本编译后,在使用pip3安装依赖的时候报错:
Can't connect to HTTPS URL because the SSL module is not available.
解决办法:一开始认为是openssl,我的openssl version是1.0.2k。后来安装yum install libffi-devel openssl-devel -y就好了。

下面是升级openssl的办法
下载openssl源码,下载地址:https://www.openssl.org/source/old/1.0.2/

[root@google local]# wget http://www.openssl.org/source/openssl-1.0.2u.tar.gz
[root@google local]# mv openssl-1.0.2u openssl-1.0.2u-src
[root@google local]# cd openssl-1.0.2u-src/
[root@google openssl-1.0.2u-src]# ./config --prefix=/usr/local/openssl-1.0.2u shared zlib
[root@google openssl-1.0.2u-src]# make && make install

#make报错:Could not import runpy module
解决方法:
1、升级gcc至8.1.0【不推荐】
2、./configure参数中去掉 --enable-optimizations

#make报错:Failed to build these modules: _ctypes 
解决办法:yum install libffi-devel -y

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值