无法在Mininet中打开MiniEdit:StrictVersion导入错误求助
解决Mininet MiniEdit启动时的ImportError问题
问题分析
报错ImportError: cannot import name 'StrictVersion' from 'mininet.util'是因为你运行的miniedit.py(来自本地git克隆的Mininet仓库)和系统安装的Mininet版本不兼容——新版本的Mininet可能已将StrictVersion从mininet.util中移除,或者你的运行环境优先加载了系统安装的Mininet模块,而非本地仓库的对应模块。
解决方案
方案1:指定PYTHONPATH优先加载本地Mininet源码
运行miniedit.py时,明确让Python优先从你克隆的Mininet目录加载模块,避免使用系统安装的版本:
PYTHONPATH=/home/pooya/mininet python3 miniedit.py
(请把/home/pooya/mininet替换成你实际的Mininet克隆目录)
方案2:修改miniedit.py的导入语句
打开/home/pooya/mininet/examples/miniedit.py,找到第28行附近的导入代码:
from mininet.util import (netParse, ipAdd, quietRun, ..., StrictVersion)
将其中的StrictVersion从mininet.util的导入列表中移除,同时在文件顶部添加单独的导入:
from distutils.version import StrictVersion
保存后重新运行python3 miniedit.py即可。
方案3:切换Mininet到稳定分支
如果是master分支的代码更新导致API变化,可切换到稳定版本分支,比如:
cd /home/pooya/mininet git checkout 2.3.0d6
然后重新运行miniedit.py。
内容的提问来源于stack exchange,提问作者Pooya Afshari
相关产品推荐
相关产品推荐

