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

列表 / elements=字符串

要检查安装的版本类似物或模块名称的列表。支持的操作符:<、>、<=、>= 或 ==。像 ansible 这样的裸模块名称、像 boto3==1.6.1 这样的具有特定版本的模块或像 requests>2 这样的部分版本都是有效的规范。

默认值: []

属性

属性

支持

描述

check_mode

支持: 完全

此操作不会修改状态。

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

diff_mode

支持: 不适用

此操作不会修改状态。

当处于 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

列表 / elements=字符串

一个列表,其中包含根本无法导入且未安装的软件包

返回: 始终

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

python

字符串

所用 python 版本的路径

返回: 始终

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

python_system_path

列表 / elements=字符串

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

微型版本

整数

Python 解释器版本的 micro 组件。

返回: 始终

示例: 10

次要版本

整数

Python 解释器版本的 minor 组件。

返回: 始终

示例: 8

发布级别

字符串

Python 解释器版本的 releaselevel 组件。

返回: 始终

示例: "final"

序列号

整数

Python 解释器版本的 serial 组件。

返回: 始终

示例: 0

有效依赖

字典

一个包含已匹配其所需版本的依赖项的字典。如果未指定版本,则 desired 将为空。

返回: 始终

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

作者

  • Will Thames (@willthames)

  • Ryan Scott Brown (@ryansb)