分别用 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
- [email protected]:/usr/bin$ which python3-ryu-manager
- /usr/bin/python3-ryu-manager
来源: http://www.bubuko.com/infodetail-3231160.html