栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

CentOS7安装Python3新版本

Python 更新时间:发布时间: 百科书网 趣学号
前言
  • 问题来源于业务需求,需要在CentOS7.9系统上验证功能性问题。安装CentOS的虚拟机后发现CentOS自带的Python3版本是Python3.6.8,与业务需要的Python版本(>=3.7)不符,本文以3.8.6为例,安装该Python版本。
  • 确定了问题,接着确定问题的解决思路。想过三种解决思路:①从已有的Python3.6.8升级版本;②单独新增Python3.8.6版本;③通过Anaconda安装Python3.8.6;本问题以第二种方法为切入点详细记录相关过程
1. 操作步骤 1.1 获取Python安装包
  • 从官网https://www.python.org/downloads/下载对应操作系统、对应版本的Python安装包
  • 本文从https://www.python.org/downloads/source/中下载Python3.8.6 Linux安装包
1.2 建立Python安装目录
  • 本文拟用/usr/local/python3.8作为Python的安装目录,并确保该目录存在
1.3 安装依赖包
# 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
# yum install install gcc libffi-devel zlib*
1.4 编译安装包
  • 进入Python安装包的下载目录,解压缩,进入解压缩后的目录,进行编译安装
# tar -Jxvf Python-3.8.6.tar.xz
# cd Python-3.8.6
# ./configure --prefix=/usr/local/python3.8
# make && make install
1.5 创建软链接
  • 在创建软链接之前,可先行确认软链接是否存在
# ln -s /usr/local/python3.8/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip3
2. 遇到的问题

2.1 SSL模块不可用的警告 2.1.1 使用–with-openssl扩展命令重新编译Python安装包
  • 由于CentOS7.9系统已安装了openssl,且安装路径为/usr/bin/openssl,所以使用自带的openssl 1.0.2版本
# openssl version
# cd Python-3.8.6
# ./configure --prefix=/usr/local/python3.8 --with-openssl=/usr/local/openssl
# make && make install
  • 如果执行完上述流程之后,同样的警告仍然存在,则安装更高版本的openssl
    ① 下载并安装新版本的openssl
# wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
# tar -zxvf openssl-1.1.1o.tar.gz
# cd openssl-1.1.1o

② 编译安装

# ./config --prefix=/usr/local/openssl
# make && make install

③ 备份原版本openssl,以防万一

# mkdir -p ~/backup/openssl_bak/bin
# mkdir ~/backup/openssl_bak/include
# mv /usr/bin/openssl ~/backup/openssl_bak/bin
# mv /usr/include/openssl ~/backup/openssl_bak/include

④软链接新版本openssl

# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

⑤修改ld.so.conf文件且使之生效

# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# ldconfig -v
# openssl version

⑥重新执行Python编译的步骤,参考1.4

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/889533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号