Centos7python升级3.6升级到3.11.4
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模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)