让ryu同时支持python2和python3

分别用pip(对应python2)和pip3(python3)装出来的命令ryu-manager会分别用python2、python3去执行后序程序。

如果一台ubuntu虚拟机中同时共存两个版本,运行命令时关注ryu-manager脚本本身即可。

which ryu-manager

cat /home/parallels/.local/bin/ryu-manager
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ryu==4.34','console_scripts','ryu-manager'
__requires__ = 'ryu==4.34'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
    sys.exit(
        load_entry_point('ryu==4.34', 'console_scripts', 'ryu-manager')()
    )

ryu控制器脚本中,如果调用到了系统层面的一些字体或者显示相关的内容,建议直接进虚拟机有可视化界面的系统中运行,而不是ssh远程连接运行。

笔者为了让ryu对python2和python3都共存支持,复制了一份ryu-manager并重命名为ryu-manager3用以支持python3,并修改了里面的python版本相关位置代码即可使用,在root系统层面路径和用户层面路径不一样,需要注意,两处都需要改。

另外,还有可能能直接找到python3-ryu-manager

parallels@parallels-Parallels-Virtual-Platform:/usr/bin$ which python3-ryu-manager
/usr/bin/python3-ryu-manager
原文地址:https://www.cnblogs.com/xrszff/p/11636378.html