Skip to content
Advertisement

Issue with lookup(‘dig’) not finding ‘dnspython’

On a Red Hat 8.3 machine I try to use this ansible code:

- debug:
    msg: "{{ lookup('dig', 'localhost') }}"

But I get an error:

TASK*****************************************
fatal: [demo.example.com]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'dig'. Error was a <class 'ansible.errors.AnsibleError'>, original message: The dig lookup requires the python 'dnspython' library and it is not installed"}

I think maybe the lookup('dig') doesn’t search in the right place…

However I think I do in fact have dnspython installed:

pip3 install dnspython --user
Requirement already satisfied: dnspython in /home/user/.local/lib/python3.6/site-packages

More info:

ansible --version
ansible [core 2.12.7]
python version = 3.8.3

Advertisement

Answer

Converting comment to answer.

When you use the pip3 command it references the Python 3.6 version you have installed: /home/user/.local/lib/python3.6/site-packages as you can see it says python3.6 and not 3.8. To install the module in 3.8, try to use pip3.8 instead.

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement