AWS Linux EC2执行sudo yum install <包名>报SyntaxError错误怎么办?
故障根因
执行yum命令抛出指向/bin/yum脚本第30行的SyntaxError: invalid syntax,本质是 Python解释器版本映射错位:
- Amazon Linux 2 内置的yum脚本原生适配Python2运行环境,代码中使用了Python2专属的异常捕获写法
except KeyboardInterrupt, e: - 当系统全局
/usr/bin/python软链接被错误指向Python3版本时,yum脚本会被Python3解释器加载执行,而Python3不再兼容上述Python2语法,直接触发语法错误,导致yum完全无法启动运行。
修复操作
- 先校验当前Python全局软链接的指向:执行
ls -l /usr/bin/python,若输出显示软链接指向python3.x类路径,即可确认是配置错位问题 - 修正软链接映射:执行命令将全局python指向Amazon Linux2自带的Python2.7可执行文件:
sudo ln -sf /usr/bin/python2.7 /usr/bin/python - 验证修复效果:重新执行最初的安装命令
sudo yum install java-11-amazon-corretto-headless,确认yum安装流程可正常运行
运维注意事项
- 不要随意修改系统全局
python软链接的指向,避免破坏系统内置的、依赖Python2运行的管理工具 - 日常使用Python3进行开发时,优先通过虚拟环境隔离运行环境,或直接显式调用
python3命令启动,不要改动系统级的解释器映射。
内容的提问来源于stack exchange,提问作者Amit Meena
相关产品推荐
相关产品推荐

