CentOS 7 安装 Python 3.6 完整指南及 yum 报错修复
本文详细介绍在 CentOS 7 系统中编译安装 Python 3.6 的完整步骤,涵盖依赖安装、源码编译及软链接配置。重点解决升级 Python 后 yum 因语法不兼容导致的 SyntaxError 错误,提供通过修改解释器指向旧版 Python 2.4 的快速修复方案,确保系统工具正常运行。
本文主要介绍在 CentOS 7 操作系统中安装 Python 3.6 的具体操作流程。
在执行安装前,需预先准备好 Python 3.6 编译所需的系统依赖包。
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
访问 Python 官方网站获取最新下载链接,并使用 wget 命令下载对应的源码包。
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
使用 tar 命令解压下载的 tgz 格式压缩包。
tar -zxvf Python-3.6.4.tgz
将解压后的 Python 目录移动至 /usr/local 目录下。
mv Python-3.6.4 /usr/local
移除系统中旧版本 Python 相关的依赖文件,避免冲突。
ll /usr/bin | grep python rm -rf /usr/bin/python
进入解压后的 Python 源码目录。
cd /usr/local/Python-3.6.4/
执行配置脚本,生成编译所需的 Makefile。
./configure
执行 make 命令进行编译过程。
make
执行 make install 完成编译并安装到指定路径。
make install
删除原有的 Python 软链接,并创建指向新版 Python 3.6 的新软链接。
rm -rf /usr/bin/python ln -s /usr/local/bin/python3.6 /usr/bin/python python -V
接下来分析在 CentOS 系统中重新安装 Python 3.6 后,yum 命令无法使用并报错的情况。
具体报错现象如下:
$ yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^
SyntaxError: invalid syntax
报错原因分析:
这是因为 yum 采用 python 作为命令解释器,这可以从 /usr/bin/yum 文件中第一行 #!/usr/bin/python 发现。而 python 版本之间兼容性不太好,使得 2.X 版本与 3.0 版本之间存在语法不一致问题。而 CentOS 5 自带的 yum 采用的是 python 2.4,当系统将 python 升级到 2.6 或 3.0 后,出现语法解释错误。
针对该问题的解决办法:
主要思路有两种:一是升级 yum 本身以适配新语法,二是将 yum 的解释器修改回旧版本的 python 2.4(前提是你没有采用覆盖升级方式删除旧版)。
升级 yum 的具体操作较为复杂,此处不详述。我们采用修改 yum 解释器为旧版本 python 2.4 的方法:
$ vi /usr/bin/yum
使用文本编辑器打开 /usr/bin/yum 文件,将第一行 "#!/usr/bin/python" 修改为 "#!/usr/bin/python2.4" 即可恢复 yum 功能。
总结:
以上内容介绍了在 CentOS 7 环境下安装 Python 3.6 的详细步骤以及解决由此引发的 yum 报错问题。希望这些信息能对大家有所帮助。如有任何疑问,欢迎留言讨论,小编会及时回复。感谢大家对本站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









