Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
在此页面上
 

Ansible 模块的 Junos PyEZ (junos-eznc) 安装错误疑难解答

问题

描述

在执行 juniper.device 模块或 Juniper.junos 模块期间,Ansible 控制节点会生成未安装的错误 junos-eznc 。例如:

原因

集合和Juniper.junos角色中的juniper.device瞻博网络 Ansible 模块使用 Junos PyEZ Python 库在 Junos 设备上执行操作。如果未安装库或 Ansible 找不到库,Ansible 会生成此错误。例如,如果您在虚拟环境中或在非标准系统位置的 Python 安装下安装 Ansible,而 Ansible 正在其他位置(如默认系统位置)搜索库,则 Ansible 可能无法找到库。

解决 方案

在 Ansible 控制节点上安装 Junos PyEZ 并更新任何必要的环境变量。有关详细信息,请参阅 https://github.com/Juniper/py-junos-eznc#installation

如果您在虚拟环境或非标准系统位置使用 Python 安装运行 Ansible,则必须:

  • 在所需的 Python 安装下安装 Junos PyEZ(视情况而定,在虚拟环境或非标准系统位置)。

  • 指定 Python 解释器的路径,例如,通过在 Ansible 配置文件中设置 interpreter_python 变量或在 Ansible 清单文件中为相应设备定义 ansible_python_interpreter 变量。

    有关更多信息,请参阅 Ansible 官方文档中的 解释器发现

要验证 Junos PyEZ 是否已成功安装在控制节点上,请使用用于 Ansible 操作的相同 Python 安装启动 Python 交互式 shell。然后导入 jnpr.junos 包。

如果成功导入软件包且 jnpr.junos 未显示错误消息,则 Junos PyEZ 已安装在 Ansible 控制节点上。如果在执行 Ansible 模块时仍然看到相同的错误消息,请确保在 Ansible 环境中为 Python 解释器指定了正确的位置。

注意:

您可以通过使用该 -vvv 选项执行 Ansible 剧本并查看日志消息来验证 Ansible 使用的 Python 安装。