1、安装需要的库文件
官网:Getting Started — Ryu 4.34 documentation
sudo apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev #ubuntu16.04及之后的版本
ryu内部文件提到的:
sudo apt-get install python-eventlet python-routes python-webob python-paramiko python-netaddr python-lxml python-oslo-config python-msgpack
2、python和pip版本升级
在Ubuntu16.04中,python3的版本为3.5.2,需要将其升高。升高至3.8的方法如下
python3 -V
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa #添加 deadsnakes PPA 源
sudo apt update
sudo apt install python3.8
which python3.8 #查看python3.8位置
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2
sudo update-alternatives --config python3 #选择合适的序号作为启动项
然后更新pip的版本
sudo apt install python-pip #先安装一个pip,这个好像不需要
wget https://bootstrap.pypa.io/get-pip.py #下载安装pip的文件
sudo apt-get install python3.8-distutils #安装一个“安装pip”需要的库
python3 get-pip.py #这个时候不要用sudo
结果如下
ubuntu@ubuntu:~$ pip --version
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
ubuntu@ubuntu:~$ pip3 --version
pip 21.3.1 from /home/ubuntu/.local/lib/python3.8/site-packages/pip (python 3.8)
说明:
- 如果使用python2.7和pip8的版本进行安装,在pip安装需要的库文件时会出现
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-JqY4N6/oslo.config/
的问题,失败。 - 如果使用python3.7以下的版本,ryu可以安装成功,但是启动后会弹出
from importlib import resources as _importlib_resources ImportError: cannot import name 'resources'
的错误,依然无法使用。 - 可能还有其他因素导致上述方案没有成功,有经验的及时交流
说明结束
3、安装RYU
3.1 网页上的安装方案
git clone git://github.com/osrg/ryu.git
cd ryu #进入ryu所在文件夹下
pip3 install -r tools/pip-requires #不加sudo
sudo python setup.py install #这句需要加sudo,要不然没有一些权限
3.2 官网上的安装方案
安装包安装 pip install ryu
源码安装
git clone https://github.com/faucetsdn/ryu.git
cd ryu; pip install .
一些额外的功能需要安装可选的工具
pip install -r tools/optional-requires
但是最后似乎还需要进行python setup.py install
这一步骤