分別用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