Mac High Sierra 10.13.3运行Ansible遇Python解释器错误求解决
解决Mac High Sierra 10.13.3上Ansible执行报错的问题
我之前也碰到过一模一样的问题,这个错误本质是Ansible启动脚本里指定的Python解释器路径找不到了——/usr/local/opt/python/bin/python2.7这个路径已经不存在,大概率是你之前安装的Python 2.7被移除、升级或者路径变动了,而Ansible还在沿用旧配置。给你几个可行的解决办法:
方法一:重新安装Python 2.7到指定路径
如果你还需要保留Python 2.7环境,可以通过Homebrew重新安装:
- 执行命令安装Python2.7:
brew install python@2 - 安装完成后,检查路径是否恢复:
ls /usr/local/opt/python/bin/python2.7 - 确认路径存在后,再运行
ansible --version应该就能正常工作了。
方法二:修改Ansible脚本的解释器路径
如果已经切换到Python3环境,或者不想再装Python2,可以直接修改Ansible的启动脚本:
- 先找到Ansible的安装位置:
which ansible,一般输出是/usr/local/bin/ansible - 用文本编辑器打开这个文件,比如
nano /usr/local/bin/ansible - 将第一行的
#!/usr/local/opt/python/bin/python2.7替换成你当前可用的Python路径,比如系统自带的Python2.7(如果还在的话):#!/usr/bin/python2.7,或者换成Python3的路径:#!/usr/bin/env python3 - 保存退出后,再次执行
ansible --version测试。
方法三:重新安装Ansible适配当前环境
如果上面两种方法都嫌麻烦,直接重装Ansible是最彻底的:
- 先卸载旧版本:如果是用Homebrew装的,执行
brew uninstall ansible;如果是用pip装的,执行pip uninstall ansible - 用当前的Python环境重新安装,比如用Python3的pip:
pip3 install ansible - 安装完成后,运行
ansible --version验证即可。
另外补充下:Mac High Sierra自带的Python2.7路径是/usr/bin/python2.7,如果这个路径还存在,也可以临时把Ansible脚本的解释器改成这个试试,不过系统自带的Python可能有权限限制,长期用还是建议用上面的方法。
内容的提问来源于stack exchange,提问作者Ravi Patel
相关产品推荐
相关产品推荐

