我目前正在GNS3中开发网络自动化容器。当我尝试使用凝固汽油弹库时,我会出现以下两个错误之一:
-
">ImportError:无法从部分初始化的模块"凝固汽油弹"导入名称"get_network_driver"(很可能是由于循环导入((/root/napalm.py(">
-
">属性错误:部分初始化的模块"凝固汽油弹"没有属性"get_network_driver"(很可能是由于循环导入(">
我在这台机器上检查了Python版本,它是3.8.3,所以这里支持凝固汽油弹。有人知道是什么原因导致了这个错误吗?
Tl;dr:不要将文件命名为napalm.py
您的文件名为napalm.py
,库也称为凝固汽油弹。当您执行from napalm import get_network_driver
时,Python会在文件napalm.py
中查找get_network_driver
。所以最好的办法是重命名你的文件。
There are 2 probable issues:
1. The nano files you created and saved in the appliance
2. Python - Netmiko - Napalm versions compatibility
Network Automation Appliance (NAA) comes preinstalled with Python 2.7 & 3.8 +
Netmiko 3.0 + Napalm 2.5.0.
You can see this with >>> pip freeze
Solution:
Use a fresh Network Automation Appliance (NAA) in your GNS3 topology.
Re-install Napalm in NAA with >>> pip install napalm
(This will auto-install Napalm's compatible version of Netmiko)
Check the version of Napalm and Netmiko installed with >>> pip freeze
napalm==2.5.0
netmiko==2.4.2
paramiko==2.7.1