在ns3中,Python3没有名为';ns';

在ns3中,Python3没有名为';ns';,python,python-3.x,ubuntu,ns-3,waf,Python,Python 3.x,Ubuntu,Ns 3,Waf,我正在使用一个虚拟盒来构建网络模拟器3(ns3),Ubuntu版本:LinuxServer20.04LTS 我执行的Linux命令是 sudo apt-get update sudo apt-get upgrade sudo apt-get install gcc g++ python python3 -y sudo apt-get install python3-setuptools git mercurial -y sudo apt-get install zip unzip apt-g

我正在使用一个虚拟盒来构建网络模拟器3(ns3),Ubuntu版本:LinuxServer20.04LTS

我执行的Linux命令是

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc g++ python python3 -y
sudo apt-get install python3-setuptools git mercurial -y
sudo apt-get install zip unzip  
apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake -y

sudo apt-get install -y python-gi-cairo 
sudo apt-get install -y gir1.2-gtk-3.0  
sudo apt-get install -y python-dev  
sudo apt-get install -y python3-dev 
sudo apt-get install -y qt5-default 
sudo apt-get install -y python3-pygraphviz
sudo apt install python3-pip
sudo apt-get install -y graphviz libgraphviz-dev
sudo pip3 install pygraphviz --install-option='--include-path=/usr/include/graphviz' --install-option='--library-path=/usr/lib/graphviz'
然后,我通过以下页面使用烘焙来安装ns3:

虽然“bake.py show”告诉我缺少pygraphvix,但是因为它不是一个基本的依赖项,所以我忽略它并继续构建ns3

成功构建ns3后,我按照指令执行“/source/ns-3.29”文件夹中的“/waf shell”命令

然后我运行命令并得到错误:

root@ns3simulator:/home/ns3/source/ns-3.29# python3 examples/wireless/mixed-wired-wireless.py
Traceback (most recent call last):
  File "examples/wireless/mixed-wired-wireless.py", line 54, in <module>
    import ns.applications
ModuleNotFoundError: No module named 'ns'
root@ns3simulator:/home/ns3/source/ns-3.29#python3示例/wireless/mixed-wireless-wireless.py
回溯(最近一次呼叫最后一次):
文件“examples/wireless/mixed wireless.py”,第54行,在
导入ns应用程序
ModuleNotFoundError:没有名为“ns”的模块
有人能帮我吗?提前谢谢。

问题
“导入ns.应用程序” ModuleNotFoundError:没有名为“ns”的模块

这是因为ns-3安装有问题,它本身无法进行python绑定,您需要手动配置它

在我的例子中,我还安装了python 2.7

->cd[PATH-to-your-ns3.29] ->/usr/bin/python2.7./waf配置

它将像这样启用python绑定

在此之后,当您可以看到python绑定已启用时,您可以运行python脚本而不会出现任何错误

希望对你有帮助

问题
“导入ns.应用程序” ModuleNotFoundError:没有名为“ns”的模块

这是因为ns-3安装有问题,它本身无法进行python绑定,您需要手动配置它

在我的例子中,我还安装了python 2.7

->cd[PATH-to-your-ns3.29] ->/usr/bin/python2.7./waf配置

它将像这样启用python绑定

在此之后,当您可以看到python绑定已启用时,您可以运行python脚本而不会出现任何错误


希望对你有帮助

听起来像是
bake
选择了
python
(即python 2),而不是python 3。您可能想尝试为python 3创建一个虚拟环境,激活,然后使用
bake
安装依赖项和ns3。我仍然不知道上面的问题会发生什么,但我要导入“ns”通过手动构建ns3而不是使用bake,在python中创建模块。非常感谢。听起来像是
bake
选择了
python
(即python 2),而不是python 3。您可能想尝试为python 3创建一个虚拟环境,激活,然后使用
bake
安装依赖项和ns3。我仍然不知道上面的问题会发生什么,但我要导入“ns”通过手动构建ns3而不是使用bake,在python中创建模块。非常感谢。这可以通过python版本3.7完成。->/usr/bin/python3.7./waf配置可以使用python版本3.7完成。->/usr/bin/python3.7./waf配置