1. 手动下载 Python-3.10.9.tar.xz(官网或其他方式自行选择,存储位置随意)
tar -xvf Python-3.10.9.tar.xz
  1. 进入刚解压出来的目录
cd Python-3.10.9/
  1. 创建 Python-3.10.9想要安装的位置(这里的位置和目录名都根据自己习惯起就好)
mkdir /usr/local/python3.10.9
  1. 如果需要安装 ssl

    编辑安装文件
vim ./Modules/Setup

调整安装文件内容

centos中还原python版本_python

  1. 如果需要用到 python3 的 sqlite3,先安装 sqlite3
# 到 https://www.sqlite.org/downloadhtml 下载 sqlite-autoconf-3430100.tar.gz

# 解压 sqlite-autoconf-3430100.tar.gz
tar -xzvf sqlite-autoconf-3430100.tar.gz

# 进入到解压的目录(根据自己的目录调整命令内容)
cd /home/hlsq/setup/sqlite-autoconf-3430100

# 配置
./configure

# 编译并安装
make && make install

# 默认安装到 /usr/local/bin、/usr/local/include 记住这两个路径
  1. 安装Python3.10.9
    ● 仅安装Python的这样操作:
# 这里用 --prefix 指定安装位置,也就是上一步里创建的目录
./configure --with-ssl --prefix=/usr/local/python3.10.9

# 编译
make

# 安装
make install

● 需要同时配置 sqlite3 的这样操作:

# 配置
LD_RUN_PATH=/usr/local/lib ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" --with-ssl --prefix="/usr/local/python3.10.9"

# 编译
LD_RUN_PATH=/usr/local/lib make

# 编译并安装
make && make install
  1. 调整python命令的软链接
# 进入python软链接所在目录
cd /usr/bin/

# 查找现有的关于python的内容
ll |grep python

这里是我的查询结果(调整后的,调整前忘记截图了)

centos中还原python版本_python_02

因为我这里原 python 的软件链接,就是 python2,所以就没有备份原有的 python,而是直接删除后重建的软链接

# 创建新的 Python3 的软链接,这里是把刚安装的python3链接到命令python
ln -s /usr/local/python3.10.9/bin/python3 /usr/bin/python
  1. 此时再查看python版本,就是新的版本了

    如果需要验证 sqlite3 是否安装好的话
python -c "import sqlite3; print(sqlite3.sqlite_version)"

# 输出 3.43.1 即可
  1. 但是更新过程并没有完成,因为yum需要使用Python2,所以还需要调整yum的调用
# 编辑yum,把第一行的 " #!/usr/bin/python " 调整为 " #!/usr/bin/python2 "
vim /usr/bin/yum

# 编辑 urlgrabber-ext-down,把第一行的 " #!/usr/bin/python " 调整为 " #!/usr/bin/python2 "
vim /usr/libexec/urlgrabber-ext-down

# 编辑 yum-config-manager,把第一行的 " #!/usr/bin/python -tt " 调整为 " #!/usr/bin/python2 -tt "
vim /usr/bin/yum-config-manager
  1. 创建Python3.10对应版本的pip软链接
# 新的 pip3 在新安装的Python目录下的bin目录下
ln -s /usr/local/python3.10.9/bin/pip3 /usr/bin/pip

# 以下操作根据需要自行选择,不是必须的操作
# 更换 pip源(永久更换)

# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

# 腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple

# 豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/

# 换回默认源
pip config unset global.index-url
  1. 将新的 python 的 bin加到环境变量(尤其是需要用到 torchrun 命令的,又不想配置虚拟环境的)
    (1)编辑 .bash_profile
vim ~/.bash_profile

(2)在PATH中追加刚刚安装的 python 的 bin 目录

centos中还原python版本_sqlite_03


(3)激活刚刚的配置

source /etc/profile
  1. 至此,Python的更新全部完成(我这安装完成后重启了一次,不然运行有些程序还是会报错)