搞定Linux系统上的 Python 版本升级,其实没那么难。我就遇到过几次,一开始也头大,但摸索几次,也就门儿清了。别怕命令行,咱一步一步来,保证你能成功。
首先,你要搞清楚现在系统里 Python 的版本。打开你的终端,输入:
bash
python --version
或者
bash
python3 --version
看看显示的是哪个版本。如果版本太老,比如 Python 2.7,那升级的必要性就更大了。毕竟,很多新的库和框架都停止支持 Python 2 了。
接下来,我们要选择一个升级的方式。通常有两种:
- 使用包管理器(如 apt、yum):这种方法最简单,但升级的版本可能不是最新的。
- 手动编译安装:这种方法比较麻烦,但可以安装任意版本的 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
CentOS 和 RHEL 默认可能没有 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 install
。make 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 --version
和 pip3.x --version
确认一下。
注意事项
- 升级 Python 版本可能会影响一些依赖旧版本的程序。在升级之前,最好备份一下系统。
- 升级 Python 版本之后,需要重新安装一些 Python 包。可以用
pip freeze > requirements.txt
命令导出旧版本的包列表,然后用pip install -r requirements.txt
命令安装新版本的包。 - 如果遇到权限问题,可以在命令前面加上
sudo
。 - 记得安装好你需要的pip工具,要不然你安装包的时候会痛苦万分,可以使用
apt install python3-pip
命令。
搞定 Python 版本升级,你的 Linux 系统就更强大了! 祝你一切顺利!
评论(0)