Centos7python升级3.6升级到3.11.4

发布时间 2023-06-11 21:46:36作者: Allen_Hao

1. 下载安装包并上传到服务器

https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz

2. 解压

tar -zxf Python-3.11.4.tgz

 

3. 升级

升级依赖 进入源码目录 并编译安装

3.1  安装依赖

yum groupinstall "Development tools" -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel -y

因为需要安装openssl11 openssl11-devel(python3.11 需要这个openssl软件十一版本),否则会报错

治标:pip3 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

          如果使用pip3 install virtualenv 会报错,解决方法就是加上-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

治本:解决依赖兼容问题:安装匹配版本python3.11 匹配的版本openssl11 openssl11-devel

//1. 可能需要先执行
yum update -y
//2. 然后
yum install -y epel-release
//3. 安装
yum install -y openssl-devel openssl11 openssl11-devel

 

#解压缩安装包
yum -y install gcc zlib zlib-devel libffi libffi-devel
#安装源码编译需要的编译环境
yum install readline-devel
#可以解决后期出现的方向键、删除键乱码问题,这里提前避免。
yum install openssl-devel openssl11 openssl11-devel
#安装openssl11,后期的pip3安装网络相关模块需要用到ssl模块。
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
#设置编译FLAG,以便使用最新的openssl库

#这个最新版python3了

3.2 进入源码目录

cd /opt/python/Python-3.11.4

3.3 配置和安装

./configure --enable-optimizations
make altinstall

3.4 将python3 和pip3链接到python3.11 和 匹配3.11

#进入刚解压缩的目录
./configure --prefix=/usr/python --with-ssl
#指定python3的安装目录为 /usr/python 并使用ssl模块,指定目录好处是
#后期删除此文件夹就可以完全删除软件了。
make && make install
#就是源码编译并安装了,时间会持续一段时间。
rm -rf /usr/bin/python3 (旧版本的链接)
rm -rf /usr/bin/pip3
(旧版本的链接)
 ln -s /usr/python/bin/python3 /usr/bin/python3 (替换新版本) ln -s /usr/python/bin/pip3 /usr/bin/pip3(替换新版本)
#指定链接,此后我们系统的任何地方输入python3就是我们安装的

3.5 验证 pip3 -V

 4. 安装虚拟机工具

pip3 install virtualenv

 

创建一个虚拟环境my_env:  执行命令virtualenv my_env

 进入my_env:

 通过source bin/activate命令进入my_env虚拟环境。并安装requests模块,对比一下,就是说明不同环境,相互不会有影响。

 

 

 退出my_env虚拟环境:deactivate

 pip3 freeze 发现没有requests模块