在ubuntu中用apt-get install mininet时,安装的mininet默认的环境是python2,刚开始的解决方法是卸载mininet,再将系统的默认python环境换成python3,在重新用apt-get安装,但是发现不行。后来浏览了mininet源码中的install.sh脚本,发现如下片段:
PYTHON=${PYTHON:-python}
if $PYTHON --version |& grep 'Python 2' >/dev/null; then
更新apt-git: sudo apt-get update
安装git: sudo apt-get install git
安装pip: sudo apt-get install python3-pip
更新pip: sudo pip3 install --upgrade pip
git clone https://github.com/mininet/mininet.git
cd mininet/
cd util/
sudo ./ install.sh -n3V 2.5.0(./install.sh –a。-a安装全部;-n安装mininet依赖和核心文件)
所以需要从源码安装mininet,步骤如下:
1)将系统中的python默认环境改成python3
2) follow tutorial to install mininet from source code
期间碰到的问题:ModuleNotFoundError: No module named 'lsb_release'
解决方法:
sudo ln -s /usr/share/pyshared/lsb_release.py /usr/local/lib/python3.6/site-packages/lsb_release.py
在所有python文件顶部引用:
import sys
sys.path.append('/home/cust/mininet')