3 回答
TA贡献1891条经验 获得超3个赞
出现此错误是因为 Ansible 正在搜索您正在使用的 Python 模块的不同路径。
当您使用官方包安装 Ansible 时,它使用 Python 2.7,因此当您运行 Ansible 时,它会搜索 python 2 模块。
有一些方法可以解决这个问题:
- 添加ansible_python_interpreter设置正确 Python 路径的选项:
像下面的例子:
ansible-playbook -i inventory playbook.yml -e 'ansible_python_interpreter=/usr/bin/python3'
- 使用 pip3 重新安装 ansible:
使用以下命令:
sudo apt remove ansible
pip3 install ansible
我认为第二种选择是避免未来错误的最佳方法。
阅读有关 Ansible 的 Python 3 支持的更多信息:Ansible - Python 3 支持。
TA贡献1848条经验 获得超6个赞
以下配置对我有用。它安装了 docker、python 和 docker-compose 最新版本
---
- name: Checking docker on latest version
apt: name=docker.io state=latest
- name: Checking python
apt: name=python state=latest
- name: Checking docker-compose on latest version
apt: name=docker-compose state=latest
TA贡献1772条经验 获得超6个赞
FWIW,我遇到了这个问题,因为下面的目录/usr/lib64/python2.7
是可读和可执行的root
。我跑了之后chmod -R go+rX /usr/lib{,64}
问题就解决了。root
的umask
是077
,因此,该问题。
添加回答
举报