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
解压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
编译安装
[[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
创建软链接,配置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
五:升级python3
下载python3.82
[[email protected] ~]# wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
解压
[[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
安装
[[email protected] Python-3.8.2]# make && make install
配置链接
[[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命令用python3和pip3代替比较稳妥,本人是测试环境直接替换了python。
验证
六:碰到的问题
-
问题一 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不可用
解决办法
[[email protected] ~]# vi /usr/bin/yum
yum依赖python,更改为python3之后原路径/usr/bin/python为3版本不兼容,改为原来的python2即可。
问题三:yum 安装报错
解决办法
[[email protected] ~]# vi /usr/libexec/urlgrabber-ext-down
添加单一个2即可