Linux CentOS 安装Python 3.8.0
在 CentOS 上升级 Python 3.6.8 到 3.8.0,可以按照以下步骤操作:
1. 安装依赖
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel wget
- 如果遇到报错“File "/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax”
- 原因:因为你的系统默认 Python 版本已经被升级到 Python 3.x,而 CentOS 7/6 的 yum 依赖 Python 2.x。Python 3.x 不再支持 except Exception, e 这种语法,导致 yum 无法运行。
- 解决办法:
- 不要覆盖系统自带的 python2 系统自带的 /usr/bin/python 应该指向 Python 2.x,否则 yum、yum-config-manager 等工具会出错。
- 恢复 /usr/bin/python 指向 python2.7 执行如下命令(需要 root 权限):
sudo ln -sf /usr/bin/python2.7 /usr/bin/python
2. 下载 Python 3.8.0 源码
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
3. 解压并编译安装
tar -zxvf Python-3.8.0.tgz
cd Python-3.8.0
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall
( altinstall 可以避免覆盖系统自带的 python)
4. 验证安装
python3.8 --version
5. (可选)设置 python3 指向 python3.8(不建议覆盖系统自带 python3)
sudo ln -sf /usr/local/bin/python3.8 /usr/bin/python3
6. 升级 pip
python3.8 -m pip install --upgrade pip
这样你就可以在 CentOS 上使用 Python 3.8.0 了。
如需在虚拟环境中使用,创建虚拟环境时指定 python3.8 路径即可:
python3.8 -m venv tutorial-env
如有特殊情况(如权限、依赖问题等),可以补充说明
检查版本
如果有多个版本同时存在,可以创建软连接
ln -sf /usr/local/bin/python3.8 /usr/local/bin/python3
ln -sf /usr/local/bin/python3.6.8 /usr/local/bin/python