Python文件运行出错修改后依然报错的问题

switches.py是Ryu控制器子目录topology下的一个文件。我根据实验需要对switches.py进行编辑时,有一行代码的缩进出错(少打了一个tab)而没有发现。因为之前还修改过Ryu的全局启动参数(在Ryu顶级目录下的flags.py文件中添加了代码),因此保存文件后,重新安装了Ryu控制器:

sudo python setup.py install

完成安装后,启动ryu-manager应用报错,是switches.py中的缩进错误。一开始我没有留意错误信息中的地址,直接从主文件夹中进入ryu子目录topology下的switches.py中进行修改,保存后再启动ryu-manager应用,依然显示同样的错误。检查无误后再重新安装了Ryu,启动应用之后还是出现该错误。

此时我注意到,出现错误的switches.py的路径并非我所修改的主文件夹下ryu子目录topology中的switches.py的文件路径,而是:

/usr/local/lib/python2.7/dist-packages/ryu/topologyswitches.py

因此,我进入对应的目录下,sudo vim 编辑switches.py文件,再次启动ryu-manager应用终于成功了。

dist-packages是debian系统及其衍生系统的默认python的模块默认安装目录, 如果使用包管理器(如apt-get, easy_install, pip)安装python的模块,都会安装到该地址下。

所以,这个错误的原因很可能是:我在自己的系统中安装和运行各种软件时都用的是系统默认的Python2.7。由于第一次编辑switches.py出错,在进行Ryu控制器重新安装后,dist-packages子目录下的switches.py就是有错误的,运行Ryu应用也会出错。此时,修改主文件夹Ryu子目录下的switches.py文件并不会影响dist-packages下的switches.py(经过尝试,即便再次重新安装Ryu控制器也不能改正),只有进入dist-packages子目录中手动改正switches.py,才能最终解决问题。

相比于这个错误本身,我得到的更大的教训是程序运行出错后一定要注意错误本身真正的涵义,而不是直接盲目地进行修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值