community.general.python_requirements_info – Show python path and assert dependency versions

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.python_requirements_info.

Synopsis

  • Get info about available Python requirements on the target host, including listing required libraries and gathering versions.

  • This module was called python_requirements_facts before Ansible 2.9. The usage did not change.

Parameters

Parameter Choices/Defaults Comments
dependencies
list / elements=string
A list of version-likes or module names to check for installation. Supported operators: <, >, <=, >=, or ==. The bare module name like ansible, the module with a specific version like boto3==1.6.1, or a partial version like requests>2 are all valid specifications.

Examples

- name: Show python lib/site paths
  community.general.python_requirements_info:

- name: Check for modern boto3 and botocore versions
  community.general.python_requirements_info:
    dependencies:
    - boto3>1.6
    - botocore<2

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
mismatched
dictionary
always
A dictionary of dependencies that did not satisfy the desired version

Sample:
{'botocore': {'desired': 'botocore>2', 'installed': '1.10.60'}}
not_found
list / elements=string
always
A list of packages that could not be imported at all, and are not installed

Sample:
['boto4', 'requests']
python
string
always
path to python version used

Sample:
/usr/local/opt/python@2/bin/python2.7
python_system_path
list / elements=string
always
List of paths python is looking for modules in

Sample:
['/usr/local/opt/python@2/site-packages/', '/usr/lib/python/site-packages/', '/usr/lib/python/site-packages/']
python_version
string
always
version of python

Sample:
2.7.15 (default, May 1 2018, 16:44:08) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
valid
dictionary
always
A dictionary of dependencies that matched their desired versions. If no version was specified, then desired will be null

Sample:
{'boto3': {'desired': None, 'installed': '1.7.60'}, 'botocore': {'desired': 'botocore<2', 'installed': '1.10.60'}}


Authors

  • Will Thames (@willthames)

  • Ryan Scott Brown (@ryansb)