mininet-VM源码安装Ryu

安裝Ryu 之前需要下載 python 的套件庫,請用 $sudo apt-get install 來安裝,並且更新pip (因為下載下來的pip 並不是最新版本的)
Ryu 3.7 出來後又有一個套件 (gcc) 必須先裝好,在用 pip 安裝 sudo pip install Ryu 3.7 時,請先安裝好gcc ,即build-essential
套件 python-dev 是選用的安裝,因為 Ryu with GUI 裡面有個相依性的套件 python-websocket 需要 python-dev 故強烈建議安裝。

 sudo apt-get install python-pip python-dev build-essential
 sudo  pip install --upgrade pip six

首先安装RYU的依赖套件

python-eventlet #用来处理和网络相关的python库函数,且可以通过协程(coroutines)实现并发,参考[链接](https://www.cnblogs.com/qiyukun/p/4754077.html)
python-webob #webob是一个创建请求和回复对象的库,webob对于请求和回应的封装能力,提供了一种简单测试WSGI应用的方法,参考[链接](https://blog.csdn.net/ztejiagn/article/details/8722853)
python-routes #Routes是采用Python实现的Rails的URL映射控制。用Routes很容易创建漂亮和简洁的URL,它非常容易。快速和动态URL生成方式意味着你将以最小的代价得到一个URL(没有庞大冗杂的查询参数)。
python-paramiko #paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。
pip install ryu

下载ryu源码,建立ryu目录,是使用GUI的前提,也可以用ryu-manager

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

源码安装

cd ryu
sudo pip install -r tools/pip-requires
sudo python setup.py install

ryu with gui 安装参考链接1,链接2
然后安sudo apt-get install python-networkx
配置–k-paths等启动命令
codec@codec-System-Product-Name:~$ ryu-manager
loading app ryu.controller.ofp_handler
instantiating app ryu.controller.ofp_handler of OFPHandler
hub: uncaught exception: Traceback (most recent call last):
File “/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py”, line 52, in _launch
func(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py”, line 71, in call
self.server_loop()
File “/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py”, line 94, in server_loop
datapath_connection_factory)
File “/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py”, line 108, in init
self.server = eventlet.listen(listen_info)
File “/usr/local/lib/python2.7/dist-packages/eventlet/convenience.py”, line 43, in listen
sock.bind(addr)
File “/usr/lib/python2.7/socket.py”, line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 98] Address already in use

解决办法:
kill 掉占用端口号6633的程序
首先查找出是哪个进程占用了该端口号命令为
sudo lsof -i :6633
比如我查出来是
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ovs-contr 1620 root 4u IPv4 9071 0t0 TCP *:6633 (LISTEN)

显示ovs-contr这个进程占用了6633 那就kill掉这个进程。
kill的时候尽量先切换到root权限 再这参数选-9
kill -9 1620

解决 ImportError: No module named ‘pip._internal’ 问题
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值