草庐IT

Hypatia安装终极记录(巨详细)

share the joy and sorrow 2024-02-11 原文

Hypatia安装终极记录(巨详细)

从去年11月低12月初确定毕设题目后,就在学习相关内容,先安装了ns3,虽然ns3网上的博客教程比较多,但由于虚拟机版本、环境等各类问题,也反反复复来了好几遍。后来又接触到hypatia(其实也不太清楚hypatia和ns3的关系和区别,这几天在一篇论文中看到相关总结,hypatia是网络仿真平台,ns3是网络仿真软件),hypatia的安装更是痛苦的鸭皮,可能过于小众,遇到奇奇怪怪的问题无法解决,重头来了好几遍,后来偶然的机会看到一个课题组的同学发的博客,又重新来了一遍,才算基本安装完成,记录一下,供大家学习参考。(论文复现还在摸索中,并没有完成。)

参考链接:https://blog.csdn.net/lyorz/article/details/128374695

声明几个问题:

  1. 系统为:VMware Workstation 16 pro + Ubuntu 18.04 + Python 3.8.12

    (有关VM16P+Ubuntu 18.04的安装教程很多不再赘述,至于python的版本,利用conda创建环境时选定即可)

  2. 更换清华源(提高下载速度)

采用鼠标点点法更换,并非添加镜像源地址

​ 在其他站点中找到tuna.tsinghua的选中,关闭,它会提示你更新,更新即可!

  1. 提前在linux系统下安装好anaconda

这边非常建议安装anaconda

  • 一方面方便之后创建虚拟环境,进行过机器学习的都知道,虚拟环境可以隔离各种包,使包的安装更加纯粹。
  • 另一方面在安装cartopy包的时候,用pip install的方法安不上,采用conda install 会好一些。

anaconda的安装方法:参考链接

#进入到根目录,打开终端
wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
#安装anaconda
bash Anaconda3-5.3.1-Linux-x86_64.sh
#需要输入yes输yes,不需要的,按Enter即可,如果不想安装VScode最后一步选择no

#添加conda环境变量
vim ~/.bashrc
#在该页面最下面添加(注意看一下你的anaconda3在哪个目录,~替换成你anaconda的目录即可)
#这里大致说明一下vim的用法
#输入i可以对其中内容进行编辑,编辑完成后按esc,输入:(就是冒号),然后输入wq!,按回车即可保存并退出
export PATH="~/anaconda3/bin:$PATH"
#source 一下
source ~/.bashrc

#检查是否安装成功
conda -V
#倘若出现版本号,即安装成功
  1. 提醒一个事情,就是在跑较长的程序时,可以顺手右键选为只读,别问为什么,血的教训。

进行完以上的步骤就可以开始苦逼地愉悦地进行hypatia环境搭建了。

1. 创建新环境hypatia

​ 因为重头来了好几次,最后一次成功安装hypatia没有截屏,所以有些截屏的环境可能是hypatia_3,这是之前的截屏,因为中间过程都可以做以参考,一切操作以代码块为主

conda create -n hypatia python=3.8

激活新环境

source activate
conda activate hypatia_3

2. 下载hypatia源码并安装环境依赖(hypatia_install_dependencies.sh)

进入根目录,打开终端

git clone https://github.com/snkas/hypatia


直接执行bash hypatia_install_dependencies.sh,会遇到各种各样的问题,索性直接vim进去分步执行

执行完以下代码块即相当于完成了bash hypatia_install_dependencies.sh

# 第一步 更新镜像源
sudo apt-get update

# 第二步 可以先将cartopy这个讨厌的东西装了
conda install cartopy
#安装时可能因为网络问题有部分库没有装好,所以这步代码运行只有最后全是done了,才能正常import,如下图

# 第三步 satgenpy
pip install numpy astropy ephem networkx sgp4 geopy matplotlib statsmodels
sudo apt-get install libproj-dev proj-data proj-bin libgeos-dev

git clone https://github.com/snkas/exputilpy
cd exputilpy
python -m pip install .
cd ..
# 第四步 ns3-sat-sim
sudo apt-get -y install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev lcov gnuplot
pip install numpy statsmodels

git clone https://github.com/snkas/networkload
cd networkload
bash install_local.sh
cd ..
#同步作者文件夹,若不运行下面代码,hypatia/ns3-sat-sim/simulator/contrib/basic-sim下目录为空
git submodule update --init --recursive

#此外在运行build程序时,它会提示没有gcc,我只又安了一个g++就可以正常跑了,就不管其他的了
sudo apt-get install g++ python3
# 第五步 paper
pip install numpy
sudo apt-get install gnuplot

3. 构建四个模块

bash hypatia_build.sh

​ 第一次构建会跑2900多个文件,但最终运行成功结果如下:

4. 运行测试

#在运行测试之前,可以在将screen这库装一下,要不然会报错
sudo apt install screen
bash hypatia_run_tests.sh

运行结果如下:

复现paper

在复现论文之前,一定确保环境搭建成功

Step 1: generating LEO satellite network dynamic state over time

在satellite_networks_state目录下

方案一:直接跑

bash generate_all_local.sh

环境搭建成功正常跑就没问题,但是时间过长,亲测跑了两天两夜接近72h,但是还剩下四个编号没跑,但是越往后时间越长,就没继续跑了。

方案二:用作者下载好的数据 提取码:rqvd

确定将下载后的数据放在paper目录下:

<hypatia>/paper/hypatia_paper_temp_data.tar.gz

执行以下代码,即可获得与方案一相同的结果

#在paper目录下
python extract_temp_data.py


运行结果:

Step 2: build ns-3 simulator

如果上面环境搭建成功,这一步其实也是做过的。

但是之前是debug模式,不清楚有没有影响 bash build.sh --debug_all

Step 3: performing analysis using satgenpy

cd satgenpy_analysis
python perform_full_analysis.py


运行结果如下:

Step 4: running ns-3 experiments

a_b实验
cd a_b
python step_1_generate_runs.py

python step_2_run.py


python step_3_generate_plots.py


有关Hypatia安装终极记录(巨详细)的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  9. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  10. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

随机推荐