Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

运行 Junos OS 的设备上的 Python 模块概述

Python 解释器包含在 Junos 操作系统 (Junos OS) 中。Junos OS 和 Junos OS Evolved 包括许多 Python 模块,可用于 Python 应用程序,包括提交、事件、操作和 SNMP 自动化脚本;Juniper Extension Toolkit (JET) 应用程序;和 YANG 操作和翻译脚本特定模块的使用取决于执行该模块的用户的权限。

表 1 概述了特定版本中每组模块升级的常规更新和受影响的平台。要确定某个平台支持特定版本的 Python(2.7 或 3)用于给定类型的脚本的初始版本,请查阅 功能探索者 工具。

表 1:Python 模块升级

释放

更改说明

支持的平台

Junos OS 版本 18.1R1

Python 2.7 的模块升级

MX240、MX480、MX960 和 vMX 路由器

Junos OS 版本 19.2R1

Python 2.7 的模块升级

MX 系列路由器和 QFX 系列交换机

Junos OS 版本 19.4R1

Python 2.7 的模块升级

Python 3.x 的模块添加(提交、事件、操作和 SNMP 脚本)

ACX 系列、MX 系列和 PTX 系列路由器

EX 系列和 QFX 系列交换机

SRX 系列服务网关

Junos OS 版本 20.2R1

Python 3.x 的模块添加

ACX 系列、MX 系列和 PTX 系列路由器

EX 系列和 QFX 系列交换机

SRX 系列服务网关

Junos OS Evolved 版本 21.2R1

Python 3.x 的模块添加

PTX 系列路由器

表 2 概述了 Junos OS 和 Junos OS Evolved for Python 2.7 和 Python 3 中提供的 Python 模块。

表 2:Junos OS 和 Junos OS Evolved 中的 Python 模块

软件包/模块

描述

支持
开启
Junos OS

支持
开启
Junos OS
进化

2.7

3.x

2.7

3.x

appdirs

确定针对应用程序特定用户数据的相应平台特定目录的路径。

Y

Y

Y

Y

asn1crypto

解析和串行化抽象语法符号 1 (ASN.1) 结构的库。

Y

Y

Y

Y

attrs

Python 软件包,使您无需编写所有样板代码即可写课。

Y

Automat

有限状态机器的 Python 表达式。

Y

bcrypt

密码散列和存储库。

Y

cffi

C Python 的异端功能接口,使 Python 应用程序能够与 C 代码交互。

Y

Y

Y

Y

chardet

Python 2 和 3 的通用字符编码检测器。

Y

Y

Y

Y

constantly

提供象征性持续支持的库。

Y

Crypto

在 PyCrypto 软件包中收集 Python 模块,以实施加密算法和协议。这些模块提供各种安全散列和加密功能。

Y

Y

Y

Y

cryptography

在 Python 中提供加密秘诀和原元。

Y

Y

Y

Y

concurrent.futures

提供用于异步执行可呼叫的接口。

Python 3 将此软件包作为标准库的一部分。

Y

Y

Y

Y

ecdsa

提供 ECDSA 加密的实施,可用于创建密钥对、签名和验证签名。

Y

Y

Y

Y

enum

enum34 软件包,提供对列举的支持。

Python 3 将此功能作为标准库的一部分。

Y

Y

Y

Y

foolscap

Twisted 本机 RPC 协议的新版本。

Y

future

Python 2 和 Python 3 兼容性库。

Y

google.protobuf

支持使用协议缓冲区 (protobuf)。

Y

Y

Y

Y

grpcio

Python gRPC 工具。

Y

Y

Y

Y

hyperlink

Pure-Python 实施不可变 URL。

Y

idna

支持 RFC 5891, 应用程序 中的国际化域名 (IDNA): 协议中定义的应用程序中的国际化域名

Y

Y

Y

Y

incremental

Python 项目版本库。

Y

ipaddress

提供在 IPv4 和 IPv6 地址上创建、操作和操作的功能。

Python 3 将此模块作为标准库的一部分。

注意:

运行 Junos OS 且使用 Python 脚本中的 IPv6 升级了 FreeBSD 支持的设备,从 Junos OS 版本 19.3R1 开始。

Y

Y

Y

Y

jinja2

面向 Python 的快速、安全、设计师友好的模板语言。

有关 Jinja2 的详细信息,请 参阅 http://jinja.pocoo.org/docs/dev/

Y

Y

Y

Y

jnpr.junos (Junos PyEZ 或 junos-eznc)

适用于 Python 的微框架,使您能够自动化运行 Junos OS 的设备。Junos PyEZ 旨在提供用户在专为自动化任务构建的环境中在 Junos OS 命令行界面 (CLI) 上具备的功能。

有关详细信息,请 参阅 Junos PyEZ

Y

Y

Y

Y

jxmlease

Python 模块,用于将 XML 转换为 Python 数据结构并将 Python 数据结构转换为 XML。

有关详细信息,请 参阅 https://jxmlease.readthedocs.io/

Y

Y

Y

Y

lxml

XML 处理库,将 C 库 libxml2 和 libxslt 的速度和 XML 功能完整性与本机 Python API 的简单性相结合。

有关详细信息,请 参阅 http://lxml.de

Y

Y

Y

Y

MarkupSafe

提供逃生和格式化 XML、HTML 或 XHTML 标记安全字符串的能力。

Y

Y

Y

Y

ncclient

通过 NETCONF 协议促进客户端脚本和应用程序开发。

有关 ncclient外部 API 的详细信息(包括文档),请 参阅 http://ncclient.grnet.gr/

Y

Y

Y

Y

netaddr

可处理第 2 层和第 3 层网络地址的网络地址操纵库。

Y

Y

Y

Y

packaging

Python 软件包的核心实用程序。

Y

Y

Y

Y

paho.mqtt

用作客户端类,允许应用程序连接到消息队列遥测传输 (MQTT) 代理,以发布消息、订阅主题和接收已发布的消息。

Y

Y

Y

Y

paramiko

SSH2 协议库,可提供建立基于 SSH2 协议的连接的能力。此模块支持适用于客户端和服务器模式的所有主要密码和散列方法。

注意:

paramiko 版本 2.1.2 仅在运行具有升级版 FreeBSD 的 Junos OS 的设备上受支持。

Y

Y

Y

Y

pkg_resources

提供 API,用于查找和管理 Python 软件包和版本依赖项,以及访问捆绑文件和资源。

Y

Y

Y

Y

psutil

有关运行进程和系统利用率(CPU、内存、磁盘和进程)的检索信息库。

注意:

psutil仅在运行 Junos OS Evolved 的设备和运行具有升级版 FreeBSD 的 Junos OS 的设备上受支持。运行具有升级后的 FreeBSD 的 Junos OS 的psutil设备仅支持一部分功能。有关更多信息,请参阅如何使用伪模块检索运行 Junos OS 的设备上的进程和系统信息

Y

Y

Y

Y

pyang

可扩展 YANG 验证器和转换器,支持 YANG 模块的处理、验证和转换。

Junos OS 在 Python 3 中添加了支持pyangpyang,并且从 Junos OS 版本 20.2R1 开始移除对 Python 2.7 的支持。

Y

Y

Y

pyasn1

Python 实施抽象语法符号一 (ASN.1) 类型和 BER/CER/DER 代码 (X.208)。

Y

Y

Y

Y

pyasn1-modules

ASN.1 数据结构的集合,表示为 Python 类。

Y

pycparser

使用纯 Python 编写的 C 语言的解析器。该模块可以集成到需要解析 C 源代码的应用程序中。

Y

Y

Y

Y

PyNaCl

Python 绑定到网络和加密库 (NaCl)。

Y

PyOpenSSL

Python 包装模块围绕 OpenSSL 库的一个子集。

Y

pyparsing

提供创建和执行简单语法的替代方法。

Y

Y

Y

Y

python-dateutil

提供日期模块的扩展。

Y

requests

支持使用 Python 发送 HTTP/1.1 请求的库。

Y

Y

Y

Y

scp

Paramiko 的 SCP 协议实施,使用 Paramiko 传输通过 SCP 协议发送和接收文件。

Y

Y

Y

Y

serial

pySerial 软件包中的模块,用于封装串行端口的访问。

Y

Y

Y

Y

service-identity

服务识别 pyOpenSSL 和加密验证。

Y

setuptools

旨在促进包装 Python 项目的库。

Y

Y

six

Python 2 和 Python 3 兼容性库。

Y

Y

Y

Y

thrift

为 Apache Thrift 框架提供 Python 绑定。

thrift 仅支持 Python 2.7,并且仅支持运行 Junos OS 版本 19.3 和更低版本的设备。

Y

transitions

面向对象的状态机器实施。

Y

twisted

基于事件的互联网应用程序框架。

Y

urllib3

Python 的 HTTP 客户端。

Y

Y

Y

Y

yaml

PyYAML 软件包中的模块,用于以 YAML 格式序列化和去线化数据。

Y

Y

Y

Y

yamlordereddictloader

PyYAML 的 YAML 加载程序和自卸器,在加载或丢弃文件时使用 OrderedDict 对象来保留映射顺序。

Y

zope.interface

此软件包允许您为 Python 指定接口。

Y