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

转载声明:本文为寻同学原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_31676673/article/details/88107454


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

PyViz是一个用Python开发的在线ns-3可视化工具。

1.先安装依赖包:

w@wangl:~$ sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-gnome2-desktop-dev python-rsvg
  • 1

或者
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg

若出现apt-get install E: 无法定位软件包问题,编辑/etc/apt/sources.list文件,添加源 deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse 即可。

步骤如下:

1)编辑sources.list :

sudo vim /etc/apt/sources.list  
  • 1

2)添加源: 在sources.list文件末尾添加

deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
  • 1

3)保存并退出

:wq
  • 1

若出现sudo vim找不到命令,则是没有安装vim。如下安装即可:

sudo apt-get install vim-gtk
  • 1

2.安装‘交互式Python’,以便在后面的可视化界面(the visualizerGUI:)中使用控制按钮:

sudo apt-get install ipython
  • 1

3.再重新编译:

./build.py --enable-examples
  • 1

编译完成后,可以看到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
  • 1

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 ])
  • 1

更改为

line_dash=GooCanvas.CanvasLineDash.newv([10.0, 10.0 ])
  • 1

即可解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是光纤交换机?

光纤交换机是一种高速的网络传输中继设备,又叫做光纤通道交换机、SAN交换机,它较普通交换机而言,采用了光纤电缆作为传输介质。光纤传输的优点是速度快、抗干扰能力强。光纤交换机主要有两种,一是用来连接存储的FC交换机。另一种是…

java 调用 js性能_太快了,太变态了:什么会影响Java中的方法调用性能?

java 调用 js性能那么这是怎么回事? 让我们从一个简短的故事开始。 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法。 这刺激了一些讨论主题-其中之一是其中一个性能回归通过采取这是一个方法被引入的程度final免遭停…

VMware虚拟机扩展Ubuntu系统磁盘空间

转载:https://www.cnblogs.com/dongry/p/10620894.html 1 首先给虚拟机扩容 虚拟机->设置->硬盘->实用程序->扩展磁盘容量 2 启动Ubuntu系统 2.1 打开终端安装gparted,sudo apt-get install gparted;输入sudo gparted打开gparte…

光纤以太网交换机产品性能介绍

光纤以太网交换机是一款高性能的管理型的二层光纤以太网接入交换机。那么,光纤以太网交换机产品性能有哪些呢?接下来,飞畅科技的小编就来为大家详细介绍下光纤以太网交换机的产品性能,感兴趣的朋友就一起来看看吧! 光…

操作方法:具有多个Mongo存储库和Kotlin的Spring Boot 2 Web应用程序

首先,免责声明:如果您正在编写微服务 (每个人现在都对吗?)并希望它是惯用的 ,那么通常不会在其中使用几个不同的数据源。 图片取自Pixabay© https: //pixabay.com/illustrations/software-binary-sys…

2020-09-03解决pip install安装非常慢[Errno 101] 网络不可达问题

转载链接:http://huanyouchen.github.io/2019/11/21/pip-install-package-very-slow/ 问题描述 使用pip安装seaborn提示: sudo python3.5 -m pip install seabornCollecting seabornWARNING: Retrying (Retry(total4, connectNone, readNone, redirect…

环网工业交换机ERPS技术解析

ERPS(Ethernet Ring Protection Switching,以太环网保护切换协议)是ITU开发的一种环网保护协议,也称G.8032。它是一个专门应用于以太环网的链路层协议。它在以太环网完整时能够防止数据环路引起的广播风暴,而当以太环网上一条链路断开时能迅速…

交换机和路由器的区别是什么?

在我们日常生活中,上网很多时候都要用到交换机和路由器,很多人只知道二者都是用于连接上网的设备,但很少知道它们之间有什么区别,以及各自的功能。 交换机和路由器的区别: 路由器可以给你的局域网自动分配IP&#xf…

import _ssl # if we can‘t import it, let the error propagate

转载链接: https://blog.csdn.net/u013398960/article/details/107524068 实测有用

apache flume_Flume:使用Apache Flume收集客户产品搜索点击数据

apache flume这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息。 数据可能包含不同的产品搜索事件,例如基于不同方面的过滤,分类信息,分页信息,以及进一步查看的产品以及某些被客户…

如何选配合适的百兆或者千兆工业交换机

工业上常常会用到工业交换机,工程商在做小型网络监控方案的时候,经常需要选配合适的百兆工业交换机或千兆工业交换机,但是,到底是配百兆工业交换机还是千兆工业交换机呢?如何计算百兆工业交换机和千兆工业交换机的码率…

2020年9月14日运行代码总结

由于研究ns3gym的使用,官网案例不足,需要运行别人的代码,在本机上运行成功,但在仿真机过程中出现一类列问题。一开始以为环境配置问题,升级环境与python3.6,但在python3.6.12的安装与python默认版本的更改中…

使用Selenium自动化测试处理多个浏览器选项卡

使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线。 硒是开源的,在全球范围内被广泛采用。 结果,您会得到社区的大力支持。 有多种用于不同语言的框架,这些框架提供与Selenium的绑定。 因此,您已经…

三层交换机工作原理介绍

每个网络主机、工作站或者服务器都有自己的IP地址和子网掩码。当主机与服务器进行通信的时候,根据自身的IP地址和子网掩码、以及服务器的IP地址,来确定服务器是否和自己处于相同的网段: 1、如果判定在相同网段内,则直接通过地址解…

TCP流中各种队列:

TCP流中各种队列: RED队列的介绍 [https://blog.csdn.net/sinat_20184565/article/details/107521549]

三层交换机有什么优势?

三层交换机的技术日益成熟,应用日益广泛,在一定范围内,它比路由器更具优势,但是三层交换机与路由器还是有很大的区别,在局域网中,三层交换机有着明显的优势。 1、子网间的传输带宽可以任意分配。 在传统路…

C++中使用流读取数据 ifstream

C中使用流读取数据 ifstream https://www.cnblogs.com/hjj-fighting/p/10429178.html

私有环网协议MR-ring介绍

以太网从诞生到今天已经走过了二十几个念头,伴随着IP的大发展,以太网已经一统江湖,98%的局域网采用以太网标准构建。在这二十多年中,以太网不断推陈出新,在速率、安全、稳定性等各方面均有一系列的标准,而环…

断言工具的编写_编写干净的测试–用特定领域的语言替换断言

断言工具的编写很难为干净的代码找到一个好的定义,因为我们每个人都有自己的单词clean的定义。 但是,有一个似乎是通用的定义: 简洁的代码易于阅读。 这可能会让您感到有些惊讶,但我认为该定义也适用于测试代码。 使测试尽可能具…

指针的意义与作用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:http://blog.csdn.net/zhanshen112/article/details/80265830