NS3可视化问题及解决办法
NS3编译遇到的Python相关的问题解决办法Linux系统在使用时,难免碰到更新忍不住升级软件包,升级软件包有时会带来开发环境的变化,环境的变化就会导致一些编译环境由于版本的原因无法编译通过,今天介绍一下关于Python模块的两个问题的解决办法:问题一如下PyViz visualizer : not enabled (Python Bindings are needed but not enab
NS Bindings相关问题:
1 NS3编译遇到的Python相关的问题解决办法
./waf configure --with-pybindgen=存放路径
Linux系统在使用时,难免碰到更新忍不住升级软件包,升级软件包有时会带来开发环境的变化,环境的变化就会导致一些编译环境由于版本的原因无法编译通过,今天介绍一下关于Python模块的两个问题的解决办法:
问题一如下
PyViz visualizer : not enabled (Python Bindings are needed but not enabled)
Python Bindings : not enabled (PyBindGen missing)
这个问题其实很好解决,执行一下
pip install pybindgen
注:以下代码若不知道存放路径,重新运行以上代码即可看到
./waf -d debug configure --with-pybindgen=存放路径
//ex:./waf -d debug configure --with-pybindgen=/home/antl417/anaconda3/lib/python3.8/site-packages
2 E:无法定位软件包 python-pygoocanvas E: 无法定位软件包 libgoocanvas-dev
问题描述:
在NS3中,采用以下命令,安装可视化工具时,出现无法定位软件包的问题
sudo apt-get install python-pygraphviz python-kiwipython-pygoocanvas libgoocanvas-dev
解决方案:
这主要是由软件源导致的,我们需要增加软件的源deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
编辑软件源文件sources.list
sudo vim /etc/apt/sources.list
添加源: 在sources.list文件末尾添加
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
3. 保存退出
:wq
4.更新软件源
sudo apt-get update
5.重新安装
sudo apt-get install python-pygraphviz python-kiwipython-pygoocanvas libgoocanvas-dev
3 剩余步骤
安装‘交互式Python’,以便在后面的可视化界面(the visualizerGUI:)中使用控制按钮:
sudo apt-get install ipython
.再重新编译:
./build.py --enable-examples
编译完成后,可以看到visualizer模块已经成功编译。
ps:使用方法: 以命令行参数的形式调用,只要程序中一下语句(需加在创建节点之前):
CommandLine cmd;
cmd.Parse (argc,argv)
运行程序时加入参数 --vis;
比如:
sudo ./waf --run scratch/myfirst --vis
另外,两个小的点:
1)若遇到如下问题:
…
No visualization support (No module named _gi_cairo).
No visualization support (No module named _gi_cairo).
Traceback (most recent call last):
File “”, line 2, in
File “/home/w/tarballs/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py”, line 1847, in start
import sys
RuntimeError: maximum recursion depth exceeded while calling a Python object
安装gi.cairo即可解决:
sudo apt-get install gi.cairo
2)若–vis报错:
AttributeError: ‘gi.repository.GooCanvas’ object has no attribute 'LineDash’
解决办法:
将src/visualizer/visualizer/core.py中第528行的
line_dash=GooCanvas.LineDash([10.0, 10.0 ])
更改为
line_dash=GooCanvas.CanvasLineDash.newv([10.0, 10.0 ])
参考链接:
1 E:无法定位软件包 python-pygoocanvas E: 无法定位软件包 libgoocanvas-dev
更多推荐
所有评论(0)