运行ryu-manager报ImportError: No module named ryu.cmd.manager
报错产生原因
触发ImportError: No module named ryu.cmd.manager的核心原因是Python解释器在模块搜索路径中找不到ryu对应的包文件:你执行命令时写的pythonpath=.是错误写法,Linux下用于指定Python模块搜索路径的环境变量为全大写的PYTHONPATH,小写的变量名不会被Python识别,因此当前源码目录没有被加入搜索路径,解释器自然无法定位到ryu.cmd.manager模块。
修复方案
按优先级依次尝试以下操作即可解决问题:
- 修正环境变量的大小写拼写,在ryu源码根目录下执行正确的启动命令:
PYTHONPATH=. ./bin/ryu-manager ryu/app/simple_switch.py
- 若修正命令后仍报错,先确认当前工作目录为Ryu源码的根目录:执行
ls命令检查当前路径下是否同时存在bin、ryu两个文件夹,若不存在则先通过cd命令切换到源码根目录再执行启动命令。 - 若需要在任意路径下都能直接调用ryu-manager,可在源码根目录执行安装命令,将Ryu部署到系统Python的模块目录下,后续启动无需额外指定PYTHONPATH:
sudo python2 setup.py install
安装完成后直接执行ryu-manager ryu/app/simple_switch.py即可启动应用。
内容的提问来源于stack exchange,提问作者Mehdi M07
相关产品推荐
相关产品推荐

