NS3可视化问题及解决办法

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

2 在NS-3中安装可视化工具pyviz的一些问题的解决

3 ns-3学习手记10_ns3.29中PyViz visualizer没有enabled,进行安装

4 NS3编译遇到的Python相关的问题解决办法

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ns-3的可视化工具PyViz是在3.10版本之后包含在ns-3中的,因此不需要单独下载,只需要进行一些配置即可。你可以使用以下命令进行配置:sudo ./waf configure --build-profile=debug --enable-example --enable-tests --with-pybindgen=/home/jnbai/tarballs/ns-allinone-3.29/pybindgen-0.17.0.post58+ngcf00cc0 --enable-sudo。\[1\] 另外,为了使用PyViz,你还需要安装一些插件。你可以使用以下命令安装这些插件: 1. 安装工具:sudo apt-get install qt4-qmake 2. 绘图工具:sudo apt-get purge libqt4-opengl-dev(如果出错,可以尝试使用sudo apt-get install libqt4-dev) 3. netanim读取程序生成的xml文件,离线展示动画:sudo apt-get install libxml2-dev\[2\] 如果你想使用最新版本的NetAnim,你需要先确保已经安装了mercurial,然后可以下载最新版本的NetAnim进行安装。请注意,ns-3.29版本默认包含NetAnim的3.108版本的源文件,但是编译ns-3时默认不会编译NetAnim,所以需要单独编译安装\[3\]。 #### 引用[.reference_title] - *1* *2* [【网络仿真】ns-3安装可视化工具PyViz&NetAnim](https://blog.csdn.net/bajiaoyu517/article/details/116352675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [在NS-3中安装可视化工具NeAnim](https://blog.csdn.net/qq_31676673/article/details/88548454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值