在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

python3下安装

更新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')