- 手动下载 Python-3.10.9.tar.xz(官网或其他方式自行选择,存储位置随意)
tar -xvf Python-3.10.9.tar.xz
- 进入刚解压出来的目录
cd Python-3.10.9/
- 创建 Python-3.10.9想要安装的位置(这里的位置和目录名都根据自己习惯起就好)
mkdir /usr/local/python3.10.9
- 如果需要安装 ssl
编辑安装文件
vim ./Modules/Setup
调整安装文件内容
- 如果需要用到 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 记住这两个路径
- 安装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
- 调整python命令的软链接
# 进入python软链接所在目录
cd /usr/bin/
# 查找现有的关于python的内容
ll |grep python
这里是我的查询结果(调整后的,调整前忘记截图了)
因为我这里原 python 的软件链接,就是 python2,所以就没有备份原有的 python,而是直接删除后重建的软链接
# 创建新的 Python3 的软链接,这里是把刚安装的python3链接到命令python
ln -s /usr/local/python3.10.9/bin/python3 /usr/bin/python
- 此时再查看python版本,就是新的版本了
如果需要验证 sqlite3 是否安装好的话
python -c "import sqlite3; print(sqlite3.sqlite_version)"
# 输出 3.43.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
- 创建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
- 将新的 python 的 bin加到环境变量(尤其是需要用到 torchrun 命令的,又不想配置虚拟环境的)
(1)编辑 .bash_profile
vim ~/.bash_profile
(2)在PATH中追加刚刚安装的 python 的 bin 目录
(3)激活刚刚的配置
source /etc/profile
- 至此,Python的更新全部完成(我这安装完成后重启了一次,不然运行有些程序还是会报错)