使用Ubuntu 18.04
、Ansible 2.9, Python 3.6.9
,已安装python3-apt
在基本的ansible命令ansible -b all -m apt -a "name=apache2 state=latest"
上,获取错误:
FAILED! => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"msg": "Could not import python modules: apt, apt_pkg. Please install python3-apt package."
}
$ sudo apt-get install python3-apt
$ ansible --version
ansible 2.9.12
python version = 3.6.9
$ python --version
Python 3.7.6
4条答案
按热度按时间scyqe7ek1#
转到python3 dist-package目录
cd /usr/lib/python3/dist-packages
然后链接这两个文件
ia2d9nvy2#
当我安装两个版本的
python3
时也遇到了同样的问题-python3.7
和python3.9
。卸载旧版本后,问题消失了。92dk7w1h3#
远程节点上的
/usr/bin/python
可能是 python 2.x 版本,而不是 python3 版本。正如上面的 @Chuck 所指出的,将解释器更改为 python3 应该可以解决这个问题。tvz2xvvm4#
在我的托管主机上,我进行了一些调试,我安装了python 2和python3.9,但在/usr/bin/中有一个符号链接
删除此链接并创建新链接后
从管理设备调用ansible,它可以工作,但仍然会发出警告,似乎ansible不喜欢看到python二进制文件,但它只想看到python3