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

Note

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

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

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
Default:
[]
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/[email protected]/bin/python2.7
python_system_path
list / elements=string
always
List of paths python is looking for modules in

Sample:
['/usr/local/opt/[email protected]/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)]
python_version_info
dictionary
added in 4.2.0 of community.general
always
breakdown version of python

 
major
integer
always
The major component of the python interpreter version.

Sample:
3
 
micro
integer
always
The micro component of the python interpreter version.

Sample:
10
 
minor
integer
always
The minor component of the python interpreter version.

Sample:
8
 
releaselevel
string
always
The releaselevel component of the python interpreter version.

Sample:
final
 
serial
integer
always
The serial component of the python interpreter version.

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)