我刚刚开始接触Nornir,这是一个python网络库,我希望这里的人可能对它有一些经验,因为到目前为止我已经尝试了各种各样的网站来回答这个问题,但没有得到任何回应。我已经创建了 3 个 YAML 文件,这些文件是在 notepad++ 中创建这个库函数所需的,config.yaml、hosts.yaml 和 groups.yaml 文件,并且在 python 中只有这 3 行代码开始:
from nornir import InitNornir
nr = InitNornir(config_file="C:/Users/<REMOVED>/Desktop/config.yaml")
nr.filter(site="uk").inventory.hosts.keys()
我收到这些错误:
Traceback (most recent call last):
File "C:/Users/<REMOVED>/PycharmProjects/test_project/nornir_test.py", line 7, in <module>
nr = InitNornir(
File "C:\Users\<REMOVED>\PycharmProjects\test_project\venv\lib\site-packages\nornir\init_nornir.py", line 66, in InitNornir
config = Config.from_dict(**kwargs)
File "C:\Users\<REMOVED>\PycharmProjects\test_project\venv\lib\site-packages\nornir\core\configuration.py", line 279, in from_dict
core=CoreConfig(**core or {}),
TypeError: __init__() got an unexpected keyword argument 'num_workers'
我的 config.yaml 文件如下所示:
---
core:
num_workers: 10
inventory:
plugin: nornir.plugins.inventory.simple.SimpleInventory
options:
host_file: "C:/Users/<REMOVED>/Desktop/hosts.yaml"
groups_file: "C:/Users/<REMOVED>/Desktop/groups.yaml"
我什至尝试在没有配置文件的情况下启动它:
from nornir import InitNornir
nr = InitNornir(
core={"num_workers": 100},
inventory={
"plugin": "nornir.plugins.inventory.simple.SimpleInventory",
"options": {
"host_file": "inventory/hosts.yaml",
"group_file": "inventory/groups.yaml"
}
}
)
但仍然没有,这不是愚蠢的“Windows 的事情”,因为坦率地说,我现在很困惑。
对此的任何帮助将不胜感激,放轻松,我只是 Nornir 的新手,但我猜大多数会是。我只是没有收到错误,因为 num_workers 键显然有一个分配给它的值,我也尝试绕过 config.yaml 文件来查看它是否是我的 yaml 文件,以及我是否设置错误但是无论哪种方式,我都会遇到相同的错误,这让我认为它不是 yaml 文件。无论哪种方式,我都很难说实话。