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

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. 更换清华源(提高下载速度)

采用鼠标点点法更换,并非添加镜像源地址
Hypatia安装终极记录(巨详细)_第1张图片
Hypatia安装终极记录(巨详细)_第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

Hypatia安装终极记录(巨详细)_第3张图片

激活新环境

source activate
conda activate hypatia_3

在这里插入图片描述

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

进入根目录,打开终端

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

Hypatia安装终极记录(巨详细)_第4张图片
直接执行bash hypatia_install_dependencies.sh,会遇到各种各样的问题,索性直接vim进去分步执行

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

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

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

Hypatia安装终极记录(巨详细)_第5张图片

# 第三步 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多个文件,但最终运行成功结果如下:
Hypatia安装终极记录(巨详细)_第6张图片

4. 运行测试

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

运行结果如下:
Hypatia安装终极记录(巨详细)_第7张图片

复现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

Hypatia安装终极记录(巨详细)_第8张图片
运行结果:
Hypatia安装终极记录(巨详细)_第9张图片

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

Hypatia安装终极记录(巨详细)_第10张图片
运行结果如下:
Hypatia安装终极记录(巨详细)_第11张图片
Hypatia安装终极记录(巨详细)_第12张图片

Step 4: running ns-3 experiments

a_b实验
cd a_b
python step_1_generate_runs.py

在这里插入图片描述

python step_2_run.py

Hypatia安装终极记录(巨详细)_第13张图片
Hypatia安装终极记录(巨详细)_第14张图片

python step_3_generate_plots.py

Hypatia安装终极记录(巨详细)_第15张图片Hypatia安装终极记录(巨详细)_第16张图片
Hypatia安装终极记录(巨详细)_第17张图片

你可能感兴趣的:(卫星网络,ubuntu,linux,c++,python,网络)