搞定Linux系统上的 Python 版本升级,其实没那么难。我就遇到过几次,一开始也头大,但摸索几次,也就门儿清了。别怕命令行,咱一步一步来,保证你能成功。

首先,你要搞清楚现在系统里 Python 的版本。打开你的终端,输入:

bash
python --version

或者

bash
python3 --version

看看显示的是哪个版本。如果版本太老,比如 Python 2.7,那升级的必要性就更大了。毕竟,很多新的库和框架都停止支持 Python 2 了。

接下来,我们要选择一个升级的方式。通常有两种:

  1. 使用包管理器(如 apt、yum):这种方法最简单,但升级的版本可能不是最新的。
  2. 手动编译安装:这种方法比较麻烦,但可以安装任意版本的 Python

先来说说包管理器。

使用 apt(Debian/Ubuntu 系统)

如果你用的是 Ubuntu 或者 Debian,那就用 apt。先更新一下包列表:

bash
sudo apt update

然后,搜索可用的 Python 版本:

bash
apt search python3

注意,我这里用的是 python3,因为 Python 3 才是主流。

假设你想安装 Python 3.9,那就执行:

bash
sudo apt install python3.9

安装完之后,别忘了更新 Python 的符号链接。简单来说,就是告诉系统,默认的 python3 命令应该指向哪个版本。

bash
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

这里假设你之前有 Python 3.7,现在又安装了 Python 3.9。数字 1 和 2 是优先级,数字越大,优先级越高。

然后,选择你要使用的 Python 版本:

bash
sudo update-alternatives --config python3

会弹出一个列表,让你选择。选好之后,再用 python3 --version 确认一下。

使用 yum(CentOS/RHEL 系统)

如果你用的是 CentOS 或者 RHEL,那就用 yum

首先,安装 EPEL 仓库(如果还没安装的话):

bash
sudo yum install epel-release

然后,更新包列表:

bash
sudo yum update

搜索可用的 Python 3 版本:

bash
yum search python3

安装你想要的版本,比如 Python 3.8

bash
sudo yum install python38

CentOSRHEL 默认可能没有 update-alternatives 命令,所以你需要手动修改环境变量,让系统找到新安装的 Python

编辑 ~/.bashrc 文件,添加以下内容:

bash
alias python='/usr/bin/python38'
alias pip='/usr/bin/pip38'

保存文件,然后执行:

bash
source ~/.bashrc

这样,当你输入 python 命令时,就会执行 Python 3.8

手动编译安装

如果你想安装最新的 Python 版本,或者包管理器里没有你想要的版本,那就只能手动编译安装了。这种方法比较麻烦,但自由度很高。

首先,去 Python 官网下载源码包。我推荐下载 Gzipped source tarball 这种格式。

下载完之后,解压:

bash
tar -zxvf Python-3.x.x.tgz

进入解压后的目录:

bash
cd Python-3.x.x

配置编译选项:

bash
./configure --enable-optimizations

--enable-optimizations 可以提高 Python 的性能,但编译时间会更长。

然后,编译:

bash
make -j $(nproc)

-j $(nproc) 可以利用多核 CPU 并行编译,加快编译速度。

最后,安装:

bash
sudo make altinstall

注意,这里用的是 make altinstall,而不是 make installmake install 会覆盖系统默认的 Python 版本,可能会导致系统出问题。make altinstall 会把 Python 安装到 /usr/local/bin 目录下,并保留系统默认的 Python 版本。

安装完之后,你需要手动创建符号链接,让系统找到新安装的 Python

bash
sudo ln -s /usr/local/bin/python3.x /usr/bin/python3.x
sudo ln -s /usr/local/bin/pip3.x /usr/bin/pip3.x

3.x 替换成你安装的 Python 版本号。

然后,更新环境变量:

编辑 ~/.bashrc 文件,添加以下内容:

bash
export PATH="/usr/local/bin:$PATH"

保存文件,然后执行:

bash
source ~/.bashrc

最后,用 python3.x --versionpip3.x --version 确认一下。

注意事项

  • 升级 Python 版本可能会影响一些依赖旧版本的程序。在升级之前,最好备份一下系统。
  • 升级 Python 版本之后,需要重新安装一些 Python 包。可以用 pip freeze > requirements.txt 命令导出旧版本的包列表,然后用 pip install -r requirements.txt 命令安装新版本的包。
  • 如果遇到权限问题,可以在命令前面加上 sudo
  • 记得安装好你需要的pip工具,要不然你安装包的时候会痛苦万分,可以使用 apt install python3-pip 命令。

搞定 Python 版本升级,你的 Linux 系统就更强大了! 祝你一切顺利!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。