Muuraharkka
Muuraharkka

Reputation: 43

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

Upvotes: 3

Views: 3621

Answers (1)

Cow
Cow

Reputation: 3030

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.

Upvotes: 1

Related Questions