Ansible -安装python3-apt包

inkz8wg9  于 2023-02-10  发布在  Python
关注(0)|答案(4)|浏览(240)

使用Ubuntu 18.04Ansible 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
scyqe7ek

scyqe7ek1#

转到python3 dist-package目录
cd /usr/lib/python3/dist-packages
然后链接这两个文件

sudo ln -s apt_inst.cpython-35m-x86_64-linux-gnu.so apt_inst.so
sudo ln -s apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
ia2d9nvy

ia2d9nvy2#

当我安装两个版本的python3时也遇到了同样的问题-python3.7python3.9。卸载旧版本后,问题消失了。

92dk7w1h

92dk7w1h3#

远程节点上的/usr/bin/python可能是 python 2.x 版本,而不是 python3 版本。正如上面的 @Chuck 所指出的,将解释器更改为 python3 应该可以解决这个问题。

tvz2xvvm

tvz2xvvm4#

在我的托管主机上,我进行了一些调试,我安装了python 2和python3.9,但在/usr/bin/中有一个符号链接

python -> python2

删除此链接并创建新链接后

ln -s python3 python

从管理设备调用ansible,它可以工作,但仍然会发出警告,似乎ansible不喜欢看到python二进制文件,但它只想看到python3

相关问题