Mininet+Ryu安装教程_ubuntu安装mininet和ryu最新csdn

sudo mn --switch ovsbr --test pingall

测试成功:
在这里插入图片描述

Ryu安装

接下来这几步我只是为了说明python3.10中运行Ryu的困难,我搞了一整天,甚至不小心删除了python3.10搞崩了Ubuntu,也没有搞定这些问题,嫌麻烦的同学直接跳到下载python3.8的部分

sudo apt install gcc libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev -y
sudo pip install ryu
cd ryu
sudo pip install -r tools/pip-requires

查看Ryu4.34安装与测试运行:

 sudo pip show ryu 
 sudo ryu-manager

第一个问题,eventlet版本太新:
ImportError: cannot import name 'ALREADY_HANDLED' from 'eventlet.wsgi' (/home/jzjs/.local/lib/python3.10/site-packages/eventlet/wsgi.py)

sudo pip uninstall eventlet
sudo pip install eventlet==0.30.2

第二个问题,Python版本太新:
TypeError: cannot set 'is_timeout' attribute of immutable type 'TimeoutError'

解决办法:下载python3.8,并启用虚拟环境ryu-venv,重新安装Ryu,注意有些地方不能用sudo:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8 python3.8-venv python3.8-dev
python3.8 -m venv ryu-venv
source ryu-venv/bin/activate
pip install ryu
cd ryu
pip install -r tools/pip-requires
pip uninstall eventlet
pip install eventlet==0.30.2

重新查看Ryu4.34安装,这次确实是安装在python3.8/site-packages当中了:

pip show ryu 
ryu-manager

测试成功:
在这里插入图片描述

随时进入和关闭虚拟环境:

source ryu-venv/bin/activate
deactivate

要是关闭后忘记了路径就敲下面的命令:

find ~/ -name "activate"

Ryu GUI安装

Ryu GUI所需要的webob和routes库已经在下面的命令中安装完毕:

pip install -r tools/pip-requires

测试Ryu的GUI,注意,你的路径和我的不一样:

cd /home/jzjs/ryu/ryu-venv/lib/python3.8/site-packages/ryu/app/gui_topology
sudo ryu-manager --observe-links --verbose gui_topology.py

浏览器打开http://0.0.0.0:8080后,发现有如下问题:
OSError: Path does not exist or is not directory: '/home/jzjs/ryu/ryu-venv/lib/python3.8/site-packages/ryu/app/gui_topology/html/'

Ryu的GUI找不到所需文件,为了解决这个问题,手动创建所需的目录并将GUI应用程序的源代码复制到那里:

git clone https://github.com/osrg/ryu.git

mkdir -p /home/jzjs/ryu/ryu-venv/lib/python3.8/site-packages/ryu/app/gui_topology/html/

cp -r ryu/ryu/app/gui_topology/html/* /home/jzjs/ryu/ryu-venv/lib/python3.8/site-packages/ryu/app/gui_topology/html/

sudo ryu-manager --observe-links --verbose gui_topology.py

成功打开:
在这里插入图片描述

Mininet和Ryu联动

继续在上面的路径里,运行openflow1.3的交换机:

ryu-manager --observe-links ryu/ryu/app/gui_topology/gui_topology.py ryu/ryu/app/simple_switch_13.py

另外打开一个终端,输入Mininet的语句:

sudo mn --controller remote,ip=127.0.0.1 --topo linear,3 --mac --switch ovsk --link tc

刷新一下浏览器,可以看到下面的界面便大功告成:
在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

g)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值