ImportError: No module named requests

743 views
Skip to first unread message

Nagesh sheregar

unread,
Jul 17, 2020, 7:16:12 PM7/17/20
to Ansible Project
Hi team,

can someone please help me on this 

TASK [vcenter : Gather all registered virtual machines] *******************************************************************************************************************************************************
task path: /data01/ansible/playbooks/roles/vcenter/tasks/vminfo.yml:1
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376 && echo ansible-tmp-1595027452.91-724-178923688175376="` echo /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/cloud/vmware/vmware_vm_info.py
<localhost> PUT /root/.ansible/tmp/ansible-local-583pCESFN/tmpfbE3DT TO /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376/AnsiballZ_vmware_vm_info.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376/ /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376/AnsiballZ_vmware_vm_info.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376/AnsiballZ_vmware_vm_info.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1595027452.91-724-178923688175376/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_vmware_vm_info_payload_pV6E6R/ansible_vmware_vm_info_payload.zip/ansible/module_utils/vmware.py", line 24, in <module>
    import requests
ImportError: No module named requests
fatal: [localhost -> localhost]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "folder": null,
            "hostname": "10.10.10.18",
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "port": 443,
            "proxy_host": null,
            "proxy_port": null,
            "show_attribute": false,
            "show_tag": false,
            "username": "root",
            "validate_certs": false,
            "vm_type": "all"
        }
    },
    "msg": "Failed to import the required Python library (requests) on s605141sl7vl402.savvis.lab's Python /usr/bin/python2. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"
}


[root@s605141sl7vl402 ansible]# ansible --version
ansible 2.9.9
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Nov 15 2019, 19:24:58) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
[root@s605141sl7vl402 ansible]#



Package    Version
---------- ---------
certifi    2020.6.20
chardet    3.0.4
idna       2.10
pip        20.1.1
pyvmomi    7.0
requests   2.24.0
setuptools 0.9.8
six        1.15.0
urllib3    1.25.9


Abhijeet Kasurde

unread,
Jul 17, 2020, 9:18:23 PM7/17/20
to ansible...@googlegroups.com
On s605141sl7vl402.savvis.lab, do

pip install requests

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/6635dc9d-f584-43e8-924f-b2d246fa2447o%40googlegroups.com.


--
Thanks,
Abhijeet Kasurde

Nagesh sheregar

unread,
Jul 17, 2020, 9:38:52 PM7/17/20
to ansible...@googlegroups.com
Hi abhi,

itsy already there:

[root@s605141sl7vl402 ansible]# pip list | grep requests
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
requests   2.24.0
[root@s605141sl7vl402 ansible]#

Abhijeet Kasurde

unread,
Jul 17, 2020, 10:43:33 PM7/17/20
to ansible...@googlegroups.com
can you check

pip show requests



--
Thanks,
Abhijeet Kasurde

Nagesh sheregar

unread,
Jul 17, 2020, 10:47:14 PM7/17/20
to ansible...@googlegroups.com
Hi abhi,

Name: requests
Version: 2.24.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: m...@kennethreitz.org
License: Apache 2.0
Location: /opt/rh/python27/root/usr/lib/python2.7/site-packages
Requires: certifi, idna, chardet, urllib3
Required-by: pyvmomi



Abhijeet Kasurde

unread,
Jul 17, 2020, 11:07:26 PM7/17/20
to ansible...@googlegroups.com
Ansible is using /usr/bin/python2 and requests is installed in /opt/rh/python27/root/usr/lib/python2.7/site-packages

Set ansible_python_interpreter as in the playbook or adjust your python path -

vars:
ansible_python_interpreter: '/opt/rh/python27/root/usr/lib/python2.7/bin/python'
tasks:

Nagesh sheregar

unread,
Jul 19, 2020, 3:57:11 PM7/19/20
to ansible...@googlegroups.com
Hi Abhijith,

i am getting error like below:

ASK [vcenter : Gather all registered virtual machines] *************************************************************************************************************************************************************************************

task path: /data01/ansible/playbooks/roles/vcenter/tasks/vminfo.yml:1
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796 && echo ansible-tmp-1595188451.63-5049-188421523167796="` echo /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/cloud/vmware/vmware_vm_info.py
<localhost> PUT /root/.ansible/tmp/ansible-local-4928PgdUse/tmp7ZHjvD TO /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796/AnsiballZ_vmware_vm_info.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796/ /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796/AnsiballZ_vmware_vm_info.py && sleep 0'
<localhost> EXEC /bin/sh -c '/opt/rh/python27/root/usr/lib/python2.7/site-packages /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796/AnsiballZ_vmware_vm_info.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1595188451.63-5049-188421523167796/ > /dev/null 2>&1 && sleep 0'

fatal: [localhost -> localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "/bin/sh: /opt/rh/python27/root/usr/lib/python2.7/site-packages: Is a directory\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 126
}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

[root@s605141sl7vl402 ansible]#


below is the my playbook:

- name: Gather all registered virtual machines
  vmware_vm_info:
    hostname: '{{ vcenter_server }}'
    username: '{{ vcenter_user }}'
    password: '{{ vcenter_pass }}'
    validate_certs: no
  delegate_to: localhost
  register: vminfo
  vars:
    ansible_python_interpreter: '/opt/rh/python27/root/usr/lib/python2.7/site-packages'


Dick Visser

unread,
Jul 19, 2020, 4:43:47 PM7/19/20
to ansible...@googlegroups.com
Yes you get an error because you didn't try the suggestion provided by Abhijith. Instead you used a directory as the python interpreter. That is not going to work - as the error says.
Try Abhijit's suggestion.
--
Sent from a mobile device - please excuse the brevity, spelling and punctuation.

Nagesh sheregar

unread,
Jul 19, 2020, 4:53:28 PM7/19/20
to ansible...@googlegroups.com
got it, its worked now, Thank you 

Reply all
Reply to author
Forward
0 new messages