centos7升级python3(解决ssl报错)

大纲

一、     当前版本信息(系统默认)... 2

二、     计划升级版本信息(升级完成后截图)... 2

三、     安装依赖软件包... 2

四、     升级OpenSSL. 2

五、     升级python3. 4

六、     碰到的问题... 5

 

一:当前版本信息

centos7升级python3(解决ssl报错)

二:计划升级版本信息(升级完成后截图)

centos7升级python3(解决ssl报错)

三:安装依赖软件包

yum -y install zlib zlib-devel                                    

yum -y install bzip2 bzip2-devel                                  

yum -y install ncurses ncurses-devel                              

yum -y install readline readline-devel                            

yum -y install openssl openssl-devel                              

yum -y install openssl-static                                     

yum -y install xz lzma xz-devel                                   

yum -y install sqlite sqlite-devel                                

yum -y install gdbm gdbm-devel                                    

yum -y install tk tk-devel                                      

yum -y install gcc

四:升级OpenSSL

下载OpenSSL

[[email protected] ~]# wget  https://www.openssl.org/source/openssl-1.1.1e.tar.gz

centos7升级python3(解决ssl报错)

解压openssl

[[email protected] ~]# tar -zxvf openssl-1.1.1e.tar.gz

配置

[[email protected] ~]# cd openssl-1.1.1e/

[[email protected] openssl-1.1.1e]# ./config --prefix=/usr/local/openssl no-zlib

centos7升级python3(解决ssl报错)

 

编译安装

[[email protected] openssl-1.1.1e]# make && make install

备份原版本

[[email protected] openssl-1.1.1e]# mv /usr/bin/openssl /usr/bin/openssl.bak

[[email protected] openssl-1.1.1e]# mv /usr/include/openssl/ /usr/include/openssl.bak

centos7升级python3(解决ssl报错)

创建软链接,配置lib库

[[email protected] openssl-1.1.1e]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl

[[email protected] openssl-1.1.1e]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

[[email protected] openssl-1.1.1e]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

[[email protected] openssl-1.1.1e]# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

[[email protected] openssl-1.1.1e]# ldconfig -v

验证新版OpenSSL版本

[[email protected] ~]# openssl version

centos7升级python3(解决ssl报错)

五:升级python3

下载python3.82

[[email protected] ~]# wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz

centos7升级python3(解决ssl报错)

 

解压

[[email protected] ~]# tar -zxvf Python-3.8.2.tgz

编译

[[email protected] ~]# cd Python-3.8.2/

[[email protected] Python-3.8.2]# ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

centos7升级python3(解决ssl报错)

centos7升级python3(解决ssl报错)

安装

[[email protected] Python-3.8.2]# make && make install

centos7升级python3(解决ssl报错)

 

配置链接

[[email protected] ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3

[[email protected] ~]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

[[email protected] bin]# mv /usr/bin/python /usr/bin/python.bak

[[email protected] bin]# ln -s /usr/bin/python3 /usr/bin/python

划线处的命令是替换默认的python命令,但是替换后可能会影响其他软件(如yum),所以新的python命令用python3pip3代替比较稳妥,本人是测试环境直接替换了python

验证

centos7升级python3(解决ssl报错)

六:碰到的问题

  • 问题一 python3启动报错找不到库文件

python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file:

解决办法:

#cd  /etc/ld.so.conf.d

#vim python3.conf

编辑 添加库文件路径 /usr/local/python3/lib

退出保存

#ldconfig

问题二  yum报错

yum不可用

centos7升级python3(解决ssl报错)

解决办法

[[email protected] ~]# vi /usr/bin/yum

centos7升级python3(解决ssl报错)

yum依赖python,更改为python3之后原路径/usr/bin/python为3版本不兼容,改为原来的python2即可。

问题三:yum 安装报错

centos7升级python3(解决ssl报错)

解决办法

[[email protected] ~]# vi /usr/libexec/urlgrabber-ext-down

添加单一个2即可

centos7升级python3(解决ssl报错)