<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Ansible playbook using panos_op &amp;quot;Missing required library.&amp;quot; in Automation/API Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521359#M3257</link>
    <description>&lt;P&gt;As improbable as it seems, you're missing &lt;CODE&gt;xmltodict&lt;/CODE&gt;, as the other module that &lt;CODE&gt;panos_op&lt;/CODE&gt; loads is &lt;CODE&gt;json&lt;/CODE&gt; which is a standard Python library.&amp;nbsp; You are also potentially missing &lt;CODE&gt;pan-os-python&lt;/CODE&gt;, but as the check for &lt;CODE&gt;xmltodict&lt;/CODE&gt; happens before the check for &lt;CODE&gt;pan-os-python&lt;/CODE&gt; does, it is being hidden and thus not showing you the sys.path that your Ansible environment is searching for installed libraries.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I recommend using almost any other module and seeing if it works, as if it fails, the panos collection will at least tell you what the sys.path is that your Ansible environment is looking for installed dependencies in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;- name: Check env
  panos_address_object:
    provider: '{{ provider }}'
    state: 'gathered'
    gathered_filter: '*'&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming that fails, one of the things it outputs is the sys.path.&amp;nbsp; Use that and verify it is as expected, and that both xmltodict and pan-os-python are installed inside one of those directories.&lt;/P&gt;</description>
    <pubDate>Wed, 16 Nov 2022 02:25:57 GMT</pubDate>
    <dc:creator>gfreeman</dc:creator>
    <dc:date>2022-11-16T02:25:57Z</dc:date>
    <item>
      <title>Ansible playbook using panos_op "Missing required library."</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521217#M3253</link>
      <description>&lt;P&gt;Trying the run an existing playbook via Github Actions and the error message is "&lt;FONT color="#FF0000"&gt;Missing required library.&lt;/FONT&gt;"&lt;/P&gt;&lt;P&gt;I cannot figure out which library could be missing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The execution of the playbook&amp;nbsp; is returning me (with -vvvv option in command line)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;TASK [show list of all interfaces] *********************************************
task path: /opt/actions-runner/_work/playbooks/get_interface_logical.yaml:15
&amp;lt;XX.XX.XX.XX&amp;gt; ESTABLISH LOCAL CONNECTION FOR USER: runners
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c 'echo ~runners &amp;amp;&amp;amp; sleep 0'
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c '( umask 77 &amp;amp;&amp;amp; mkdir -p "` echo /home/runners/.ansible/tmp `"&amp;amp;&amp;amp; mkdir "` echo /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237 `" &amp;amp;&amp;amp; echo ansible-tmp-1668465228.5914114-3653-188195413439237="` echo /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237 `" ) &amp;amp;&amp;amp; sleep 0'
&amp;lt;FW&amp;gt; Attempting python interpreter discovery
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'python3.10'"'"'; command -v '"'"'python3.9'"'"'; command -v '"'"'python3.8'"'"'; command -v '"'"'python3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v '"'"'python3.5'"'"'; command -v '"'"'/usr/bin/python3'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; command -v '"'"'python2.7'"'"'; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'python'"'"'; echo ENDFOUND &amp;amp;&amp;amp; sleep 0'
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c '/opt/actions-runner/_work/_tool/Python/3.10.8/x64/bin/python3.10 &amp;amp;&amp;amp; sleep 0'
Using module file /home/runners/.ansible/collections/ansible_collections/paloaltonetworks/panos/plugins/modules/panos_op.py
&amp;lt;XX.XX.XX.XX&amp;gt; PUT /home/runners/.ansible/tmp/ansible-local-3649no1gltbg/tmpduhjtz2w TO /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237/AnsiballZ_panos_op.py
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c 'chmod u+x /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237/ /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237/AnsiballZ_panos_op.py &amp;amp;&amp;amp; sleep 0'
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c '/usr/bin/python3 /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237/AnsiballZ_panos_op.py &amp;amp;&amp;amp; sleep 0'
&amp;lt;XX.XX.XX.XX&amp;gt; EXEC /bin/sh -c 'rm -f -r /home/runners/.ansible/tmp/ansible-tmp-1668465228.5914114-3653-188195413439237/ &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; sleep 0'
fatal: [FW]: FAILED! =&amp;gt; {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "invocation": {
        "module_args": {
            "api_key": null,
            "cmd": "show interface logical",
            "cmd_is_xml": false,
            "ignore_disconnect": null,
            "ip_address": null,
            "password": null,
            "port": 443,
            "provider": {
                "api_key": null,
                "ip_address": "XX.XX.XX.XX",
                "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                "port": 443,
                "serial_number": null,
                "username": "***"
            },
            "username": "admin",
            "vsys": "vsys1"
        }
    },
    "msg": "Missing required libraries."
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the exact definition of the playbook task from where the failure is coming:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;- name: show list of all interfaces
  paloaltonetworks.panos.panos_op:
     provider: '{{ palo_provider }}'
     cmd: "show interface logical"
  register: show_interface_logical&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;of course, as specify in the &lt;A title="panos_op module requirements" href="https://paloaltonetworks.github.io/pan-os-ansible/modules/panos_op_module.html#requirements" target="_self"&gt;docs&lt;/A&gt; of panos_op module , the 3 python librairies are installed on the Github runner via "pip install"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;pan-python
pandevice
xmltodict&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Extra info :&lt;/P&gt;&lt;P&gt;&amp;nbsp;#&amp;gt;&amp;nbsp;ansible --version&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;ansible-playbook [core 2.13.6]
  config file = None
  configured module search path = ['/home/runners/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/actions-runner/_work/_tool/Python/3.10.8/x64/lib/python3.10/site-packages/ansible
  ansible collection location = /home/runners/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/actions-runner/_work/_tool/Python/3.10.8/x64/bin/ansible-playbook
  python version = 3.10.8 (main, Oct 18 2022, 06:43:21) [GCC 9.4.0]
  jinja version = 3.1.2
  libyaml = True&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#&amp;gt; pip list&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Package            Version
------------------ ---------
ansible            6.6.0
ansible-core       2.13.6
ansible-pylibssh   1.0.0
ansicolors         1.1.8
bcrypt             4.0.1
certifi            2022.9.24
cffi               1.15.1
charset-normalizer 2.1.1
cryptography       38.0.3
future             0.18.2
idna               3.4
Jinja2             3.1.2
MarkupSafe         2.1.1
ntc-templates      3.1.0
numpy              1.23.4
packaging          21.3
pan-os-python      1.7.3
pan-python         0.17.0
pandas             1.5.1
pandevice          0.14.0
paramiko           2.12.0
pip                22.3.1
pycparser          2.21
PyNaCl             1.5.0
pyparsing          3.0.9
python-dateutil    2.8.2
python-dotenv      0.21.0
pytz               2022.6
PyYAML             6.0
requests           2.28.1
resolvelib         0.8.1
setuptools         63.2.0
six                1.16.0
termcolor          2.1.0
textfsm            1.1.3
urllib3            1.26.12
xmltodict          0.13.0&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;#&amp;gt; ansible-galaxy collection list&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;# /home/runners/.ansible/collections/ansible_collections
Collection             Version
---------------------- -------
ansible.netcommon      4.1.0  
ansible.utils          2.7.0  
cisco.ios              4.0.0  
paloaltonetworks.panos 3.0.0  

# /opt/actions-runner/_work/_tool/Python/3.10.8/x64/lib/python3.10/site-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    3.5.0  
ansible.netcommon             3.1.3  
ansible.posix                 1.4.0  
ansible.utils                 2.7.0  
ansible.windows               1.12.0 
arista.eos                    5.0.1  
awx.awx                       21.8.0 
azure.azcollection            1.14.0 
check_point.mgmt              2.3.0  
chocolatey.chocolatey         1.3.1  
cisco.aci                     2.3.0  
cisco.asa                     3.1.0  
cisco.dnac                    6.6.0  
cisco.intersight              1.0.20 
cisco.ios                     3.3.2  
cisco.iosxr                   3.3.1  
cisco.ise                     2.5.8  
cisco.meraki                  2.11.0 
cisco.mso                     2.1.0  
cisco.nso                     1.0.3  
cisco.nxos                    3.2.0  
cisco.ucs                     1.8.0  
cloud.common                  2.1.2  
cloudscale_ch.cloud           2.2.2  
community.aws                 3.6.0  
community.azure               1.1.0  
community.ciscosmb            1.0.5  
community.crypto              2.8.1  
community.digitalocean        1.22.0 
community.dns                 2.4.0  
community.docker              2.7.1  
community.fortios             1.0.0  
community.general             5.8.0  
community.google              1.0.0  
community.grafana             1.5.3  
community.hashi_vault         3.4.0  
community.hrobot              1.6.0  
community.libvirt             1.2.0  
community.mongodb             1.4.2  
community.mysql               3.5.1  
community.network             4.0.1  
community.okd                 2.2.0  
community.postgresql          2.3.0  
community.proxysql            1.4.0  
community.rabbitmq            1.2.3  
community.routeros            2.3.1  
community.sap                 1.0.0  
community.sap_libs            1.3.0  
community.skydive             1.0.0  
community.sops                1.4.1  
community.vmware              2.10.1 
community.windows             1.11.1 
community.zabbix              1.8.0  
containers.podman             1.9.4  
cyberark.conjur               1.2.0  
cyberark.pas                  1.0.14 
dellemc.enterprise_sonic      1.1.2  
dellemc.openmanage            5.5.0  
dellemc.os10                  1.1.1  
dellemc.os6                   1.0.7  
dellemc.os9                   1.0.4  
f5networks.f5_modules         1.20.0 
fortinet.fortimanager         2.1.6  
fortinet.fortios              2.1.7  
frr.frr                       2.0.0  
gluster.gluster               1.0.2  
google.cloud                  1.0.2  
hetzner.hcloud                1.8.2  
hpe.nimble                    1.1.4  
ibm.qradar                    2.1.0  
ibm.spectrum_virtualize       1.10.0 
infinidat.infinibox           1.3.7  
infoblox.nios_modules         1.4.0  
inspur.ispim                  1.2.0  
inspur.sm                     2.3.0  
junipernetworks.junos         3.1.0  
kubernetes.core               2.3.2  
lowlydba.sqlserver            1.0.4  
mellanox.onyx                 1.0.0  
netapp.aws                    21.7.0 
netapp.azure                  21.10.0
netapp.cloudmanager           21.21.0
netapp.elementsw              21.7.0 
netapp.ontap                  21.24.1
netapp.storagegrid            21.11.1
netapp.um_info                21.8.0 
netapp_eseries.santricity     1.3.1  
netbox.netbox                 3.8.1  
ngine_io.cloudstack           2.2.4  
ngine_io.exoscale             1.0.0  
ngine_io.vultr                1.1.2  
openstack.cloud               1.10.0 
openvswitch.openvswitch       2.1.0  
ovirt.ovirt                   2.3.1  
purestorage.flasharray        1.14.0 
purestorage.flashblade        1.10.0 
purestorage.fusion            1.1.1  
sensu.sensu_go                1.13.1 
servicenow.servicenow         1.0.6  
splunk.es                     2.1.0  
t_systems_mms.icinga_director 1.31.4 
theforeman.foreman            3.7.0  
vmware.vmware_rest            2.2.0  
vultr.cloud                   1.3.0  
vyos.vyos                     3.0.1  
wti.remote                    1.0.4  &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Nov 2022 23:29:11 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521217#M3253</guid>
      <dc:creator>rbolze</dc:creator>
      <dc:date>2022-11-14T23:29:11Z</dc:date>
    </item>
    <item>
      <title>Re: Ansible playbook using panos_op "Missing required library."</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521359#M3257</link>
      <description>&lt;P&gt;As improbable as it seems, you're missing &lt;CODE&gt;xmltodict&lt;/CODE&gt;, as the other module that &lt;CODE&gt;panos_op&lt;/CODE&gt; loads is &lt;CODE&gt;json&lt;/CODE&gt; which is a standard Python library.&amp;nbsp; You are also potentially missing &lt;CODE&gt;pan-os-python&lt;/CODE&gt;, but as the check for &lt;CODE&gt;xmltodict&lt;/CODE&gt; happens before the check for &lt;CODE&gt;pan-os-python&lt;/CODE&gt; does, it is being hidden and thus not showing you the sys.path that your Ansible environment is searching for installed libraries.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I recommend using almost any other module and seeing if it works, as if it fails, the panos collection will at least tell you what the sys.path is that your Ansible environment is looking for installed dependencies in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;- name: Check env
  panos_address_object:
    provider: '{{ provider }}'
    state: 'gathered'
    gathered_filter: '*'&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming that fails, one of the things it outputs is the sys.path.&amp;nbsp; Use that and verify it is as expected, and that both xmltodict and pan-os-python are installed inside one of those directories.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2022 02:25:57 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521359#M3257</guid>
      <dc:creator>gfreeman</dc:creator>
      <dc:date>2022-11-16T02:25:57Z</dc:date>
    </item>
    <item>
      <title>Re: Ansible playbook using panos_op "Missing required library."</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521441#M3259</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/257518"&gt;@rbolze&lt;/a&gt;&amp;nbsp;, Ansible struggles to execute the correct Python executable when you're working outside of the standard install path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your output shows a step where Ansible is looking for the Python path&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;&amp;lt;FW&amp;gt; Attempting python interpreter discovery
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;And ultimately settles on `/usr/bin/python3`&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
&lt;/LI-CODE&gt;
&lt;P&gt;But I am willing to bet my lunch that you're actually wanting Ansible to look here for your Python environment:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;/opt/actions-runner/_work/_tool/Python/3.10.8/x64/bin/python3.10&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Quick way to validate the Python environment packages is to include a short task above your actual work:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;  tasks:
    - name: debug Python packages installed
      ansible.builtin.shell: pip freeze
&lt;/LI-CODE&gt;
&lt;DIV&gt;
&lt;DIV&gt;If you find that you're expected packages aren't there (xmltodict, pan-os-python, etc.), then Ansible's Python discovery process failed you. A couple quick fixes available, but I recommend the following:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;1. Create a file to store variables within, I typically default to `group_vars/all/python.yaml`&lt;/DIV&gt;
&lt;DIV&gt;2. Store the following in the file and save:&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;ansible_python_interpreter: "{{ ansible_playbook_python }}"&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;When Ansible runs next, it will find this variable and skip any Python environment discovery process.&lt;BR /&gt;&lt;BR /&gt;Please let us know the results,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Calvin&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 16 Nov 2022 17:58:14 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521441#M3259</guid>
      <dc:creator>cremsburg</dc:creator>
      <dc:date>2022-11-16T17:58:14Z</dc:date>
    </item>
    <item>
      <title>Re: Ansible playbook using panos_op "Missing required library."</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521473#M3260</link>
      <description>&lt;P&gt;Thank you both&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/231890"&gt;@cremsburg&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/46544"&gt;@gfreeman&lt;/a&gt;,&lt;BR /&gt;Indeed that was an issue with the python interpreter path.&lt;BR /&gt;so what I did to confirm this.&lt;BR /&gt;I have added in the ansible playbook the following tasks for debugging:&lt;/P&gt;&lt;LI-CODE lang="python"&gt;    - name: Check env
      panos_facts:
        provider: '{{ palo_provider }}'
        gather_subset: ['config']
      register: panfacts&lt;/LI-CODE&gt;&lt;P&gt;the task "Check env" have provided me this message :&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; "msg": "Missing required library \"pan-python\".",
    "pypi": "https://pypi.org/project/pan-python",
    "syspath": [
        "/tmp/ansible_panos_facts_payload_np_e2_4_/ansible_panos_facts_payload.zip",
        "/usr/lib/python38.zip",
        "/usr/lib/python3.8",
        "/usr/lib/python3.8/lib-dynload",
        "/usr/local/lib/python3.8/dist-packages",
        "/usr/lib/python3/dist-packages"
    ]&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;so, what is the solution I have chosen to fix this.&lt;/P&gt;&lt;P&gt;while executing the Github actions, I have set the environement variable :&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ANSIBLE_PYTHON_INTERPRETER: /opt/actions-runner/_work/_tool/Python/3.10.8/x64/bin/python&lt;/LI-CODE&gt;&lt;P&gt;another option is to set it via "ansible.cfg" file&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;[defaults]
interpreter_python = /opt/actions-runner/_work/_tool/Python/3.10.8/x64/bin/python&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2022 21:59:39 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521473#M3260</guid>
      <dc:creator>rbolze</dc:creator>
      <dc:date>2022-11-16T21:59:39Z</dc:date>
    </item>
    <item>
      <title>Re: Ansible playbook using panos_op "Missing required library."</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521474#M3261</link>
      <description>&lt;P&gt;This is great, glad you got it sorted out.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2022 22:04:02 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/ansible-playbook-using-panos-op-quot-missing-required-library/m-p/521474#M3261</guid>
      <dc:creator>cremsburg</dc:creator>
      <dc:date>2022-11-16T22:04:02Z</dc:date>
    </item>
  </channel>
</rss>

