在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…

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

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

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

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

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

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

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

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

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

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

三层交换机工作原理介绍

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

三层交换机有什么优势?

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

私有环网协议MR-ring介绍

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

网管型工业交换机如何创建网络冗余

与非网管型工业交换机相比,使用杭州飞畅网管型工业交换机的其中一个好处是其冗余功能。这允许您使用带有额外连接的以太网,因此如果网络上两点之间的一条路径出现故障,则可以使用另一条路径来传递消息。如果一个链路或工业交换机发生故障&…

使用var,Lombok和Fluxtion轻松处理事件

介绍 在本文中,我将结合使用Lombok和Fluxtion这两种产品,以演示工具如何在减少代码编写和交付时间的同时提高代码的可读性。 使用Java 10中的var可以进一步改善这种情况。 产品和var都在构建时使用推断来加速开发。 Fluxtion的精神是最大程度地减少浪费…

网管型工业交换机如何提高网路流量过滤?

虽然一个非网管型工业交换机会从一个设备端过滤出许多数据包,但还是有很多数据包非网管型工业交换机无法处理,而这些数据包又必须从端口传输到所有设备上。当一个设备接收到不是特定给该设备的数据包时,它必须先耗费资源来处理这些信息数据最…

html5中meter讲解_Java中的得墨meter耳定律–最少知识原理–实际示例

html5中meter讲解得墨meter耳定律(也称为最少知识定律)是一种编码原理,它表示模块不应该知道其操作的对象的内部细节。 如果代码取决于特定对象的内部细节,则很有可能一旦该对象的内部发生更改,它就会中断。 由于封装是…

网络交换机的分类介绍

从广义上来看,交换机分为两种:广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信基础平台。而局域网交换机则应用于局域网络,用于连接终端设备,如PC机及网络打印机等。 按照现在复杂的网络构成方…

网络交换机的作用有哪些?

现如今,随着通信业的发展以及国民经济信息化的推进,网络交换机市场呈稳步上升态势,以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机。那么,网络交换机的作用有哪些呢?…

网络交换机功能介绍

交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。目前交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。 交换机除了能够连接同种类型的网络之外…

HOW-TO:具有MySQL的JEE应用程序中具有集群功能的Quartz Scheduler

Quartz Scheduler是Java世界中最流行的调度库之一。 过去,我主要在Spring应用程序中使用Quartz。 最近,我一直在研究要在云中部署的JBoss 7.1.1上运行的JEE 6应用程序中的调度。 我考虑的一种选择是Quartz Scheduler,因为它提供了与数据库的集…