CentOS 7 的 Python2 升级成 Python 3.9.17

安装Python3.9.17

官网下载地址:https://www.python.org/downlo...

 

这里选择下载python 3.9.17。

# 下载
wget https://www.python.org/ftp/python/3.9.17/Python-3.9.17.tgz
# 解压
tar -zxf Python-3.9.17.tgz
# 安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc  libffi-devel
# 进入python目录
cd Python-3.9.17
# 编译
./configure --prefix=/usr/local/python3.11
#安装
make && make install

关于Python3.7 以上的版本,需要多安装一个依赖包:

yum install -y libffi-devel

否则会出现ModuleNotFoundError: No module named '_ctypes'的报错。

在make install后执行echo $?,为0表示没有出错。如果没有报错,在/usr/local会生成python3.7目录。

然后将系统默认的python2备份

mv /usr/bin/python /usr/bin/python.bak

创建新的软连接

ln -s /usr/local/python3.9/bin/python3.9 /usr/bin/python
ln -s /usr/local/python3.9/bin/pip3 /usr/bin/pip

查看版本

[root@moli-linux03 src]# python -V
Python 3.9.17     

升级完成了。

更改yum配置

因为yum需要使用python2,将/usr/bin/python改为python3后,yum就不能正常运行了,因此需要更改一下yum的配置。

vi /usr/bin/yum
把#! /usr/bin/python 修改为#! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2

编辑这两个文件,将文件头的#!/usr/bin/python改为#!/usr/bin/python2即可。

相关方案:

python3.11安装, 解决pip is configured with locations that require TLS/SSL问题_赛博朋克2078的博客-优快云博客

### 升级Python版本3.9.9 为了在Linux系统上将Python2.7.5版本升级到3.9.9版本,可以遵循一系列特定的操作流程来确保系统的稳定性和兼容性。 #### 安装依赖包 首先,在执行任何操作之前,应该更新现有的软件包并安装编译Python所需的依赖项。对于基于Debian的发行版(如Ubuntu),可以通过以下命令完成: ```bash sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev \ libncurses5-dev libbz2-dev libreadline-dev libsqlite3-dev curl \ libffi-dev wget ``` 而对于RedHat系的发行版(比如CentOS),则应使用`yum`工具来进行相同的工作: ```bash sudo yum groupinstall "Development Tools" sudo yum install openssl-devel bzip2-devel libffi-devel ``` #### 下载并解压源码 接着下载目标版本Python源代码压缩包,并将其解压缩到本地文件夹中。这里以官方发布的Python 3.9.9为例: ```bash cd /usr/src sudo wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz ``` #### 编译和安装版本 进入刚刚创建好的目录后,配置构建环境并将新的解释器安装到指定位置。为了避免覆盖默认Python二进制文件,建议自定义前缀路径: ```bash cd Python-3.9.9 sudo ./configure --prefix=/usr/local/python3.9.9 --enable-shared LDFLAGS="-Wl,-rpath,/usr/local/lib" sudo make altinstall ``` 注意:此处采用的是`make altinstall`而非普通的`make install`指令,这是为了避免意外替换掉原有的`python`命令指向的老版本解释器[^1]。 #### 创建符号链接 为了让全局范围内的应用程序能够识别最新安装Python版本而不必每次都指明全路径名,可以在`/usr/bin/`下建立相应的软连接: ```bash ln -sf /usr/local/python3.9.9/bin/python3.9 /usr/bin/python3 ln -sf /usr/local/python3.9.9/bin/pip3.9 /usr/bin/pip3 ``` 此时应当验证当前使用的确实是预期中的Python版本: ```bash python3 --version pip3 --version ``` 如果一切正常,则说明已经成功完成了从旧版本向新版Python的迁移工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

查里王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值