community.general.python_requirements_info 模块 – 显示 Python 路径并断言依赖版本

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.python_requirements_info

概要

  • 获取有关目标主机上可用 Python 需求的信,包括列出所需的库和收集版本。

参数

参数

注释

dependencies

列表 / 元素=字符串

要检查安装的版本类似或模块名称的列表。支持的运算符:<、>、<=、>= 或 ==。裸模块名称(如 ansible),具有特定版本的模块(如 boto3==1.6.1)或部分版本(如 requests>2)都是有效的规范。

默认: []

属性

属性

支持

描述

check_mode

支持: 完整

此操作不会修改状态。

可以在 check_mode 中运行并返回更改的状态预测,而无需修改目标。

diff_mode

支持: N/A

此操作不会修改状态。

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- 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

返回值

常见的返回值记录在此处,以下是此模块独有的字段

描述

mismatched

字典

不满足所需版本的依赖项的字典

返回:始终

示例: {"botocore": {"desired": "botocore>2", "installed": "1.10.60"}}

not_found

列表 / 元素=字符串

完全无法导入且未安装的软件包列表

返回:始终

示例: ["boto4", "requests"]

python

字符串

所用 python 版本的路径

返回:始终

示例: "/usr/local/opt/python@2/bin/python2.7"

python_system_path

列表 / 元素=字符串

python 查找模块的路径列表

返回:始终

示例: ["/usr/local/opt/python@2/site-packages/", "/usr/lib/python/site-packages/"]

python_version

字符串

python 版本

返回:始终

示例: "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

字典

在 community.general 4.2.0 中添加

python 的分解版本

返回:始终

major

整数

python 解释器版本的 major 组件。

返回:始终

示例: 3

micro

整数

python 解释器版本的 micro 组件。

返回:始终

示例: 10

minor

整数

python 解释器版本的 minor 组件。

返回:始终

示例: 8

releaselevel

字符串

python 解释器版本的 releaselevel 组件。

返回:始终

示例: "final"

serial

整数

python 解释器版本的 serial 组件。

返回:始终

示例: 0

valid

字典

与所需版本匹配的依赖项的字典。如果未指定版本,则 desired 将为空

返回:始终

示例: {"boto3": {"desired": null, "installed": "1.7.60"}, "botocore": {"desired": "botocore<2", "installed": "1.10.60"}}

作者

  • Will Thames (@willthames)

  • Ryan Scott Brown (@ryansb)