centos7 python3.7 ssl_CentOS7.5升级python至3.7.1版本,同时安装SSL模块

1.创建临时目录,存储安装时需要用的过程文件

[root@localhost ~]# cd /usr

[root@localhost usr]# mkdir tools

[root@localhost usr]# cd tools

2.先行安装python所依赖的模块(重要,必须执行)

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite sqlite-devel readline-devel tk tk-devel gdbm gdbm-devel db4-devel libpcap-devel lzma xz xz-devel libuuid-devel libffi-devel

3.下载python3.7.1,并且进行编译安装:

[root@localhost tools]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

文件解压:

[root@localhost tools]# tar xvf Python-3.7.1.tar.xz

进入解压目录

[root@localhost tools]# cd ./Python3.7.1

创建编译安装目录并且进行配置:

[root@localhost Python-3.7.1]# mkdir /usr/local/python3

[root@localhost Python-3.7.1]# ./configure --prefix=/usr/local/python3

这一步有可能会提示

no acceptable C compiler found in $PATH

如果提示这个错误,则需要安装gcc

[root@localhost Python-3.7.1]# yum install make gcc gcc-c++

然后重新执行

[root@localhost Python-3.7.1]# ./configure --prefix=/usr/local/python3

进行安装:

[root@localhost Python-3.7.1]# make && make install

安装中可能遇到Fatal Python error: initfsencoding: Unable to get the locale encoding

LookupError: unknown encoding: GBK这种错误,需要先把系统的编码修改成utf8,再进行安装

[root@localhost Python-3.7.1]# export LANG=zh_CN.UTF-8

[root@localhost Python-3.7.1]# export LANGUAGE=zh_CN.UTF-8

重新安装python

[root@localhost zlib-1.2.11]# cd /usr/tools/Python-3.7.1

[root@localhost Python-3.7.1]# make && make install

再重新安装python3.7.1,完成

4.修改默认的python版本以及pip的软链

[root@localhost Python-3.7.1]# mv /usr/bin/python /usr/bin/python_old

软连接指向最新的python

[root@localhost Python-3.7.1]# ln -s /usr/local/python3/bin/python3 /usr/bin/python

pip也指向最新的软链

[root@localhost Python-3.7.1]#ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

用python命令查看版本:

[root@localhost Python-3.7.1]# python

5.解决yum升级后不可用的问题。

[root@localhost Python-3.7.1]# vi /usr/bin/yum

[root@localhost Python-3.7.1]# vi /usr/libexec/urlgrabber-ext-down

将文件中的

#!/usr/bin/python 改成: #!/usr/bin/python_old

指向旧的python

6.解决SSL import报错的问题,因为python进行了升级,所以ssl也要升级。下载安装openssl的1.0.2版本

1、下载openssl

wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz

2、在文件夹下解压缩,得到openssl-1.0.2j文件夹

tar -xzf openssl-1.0.2j.tar.gz

3、进入解压的目录:

cd openssl-1.0.2j

4、设定Openssl 安装,( --prefix )参数为欲安装之目录,也就是安装后的档案会出现在该目录下:

./config --prefix=/usr/local/openssl

5、执行命令

./config -t

6.执行make,编译Openssl

make

7、安装

make install

7.修改python目录下的(注意是下载的python目录,不是安装后的)Modules/Setup.dist文件,搜索ssl,找到如下4行代码

取消注释,并且将SSL修改成自己的ssl安装目录,例如我的就是

SSL=/usr/local/openssl

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

从第3步的python编译安装开始,重新编译并且安装python,安装结束后

最后验证:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值