ns3
- 主要参考这几篇文章
ns3-based 镜像
脚本安装依赖项
编译的过程比较清晰
这篇是安装ns-3 gym的,算是比较清晰完整的
newplan的使用教程
-
但是安装过程中还是遇到了几个问题:
- 如果安装是比较新的版本(3.28?及其以后) 命令行主要参照这两个 别看上下的提示了
https://askubuntu.com/questions/1065940/unable-to-locate-package-python-pygoocanvas
https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint- 安装依赖项的时候会有几处处报错,根据报错信息修改一下命令即可,修改后如下:
#!bin/bash sudo apt-get install gcc g++ python python-dev mercurial bzr gdb valgrind gsl-bin libgsl0-dev libgsl2 libgsl2:i386 flex bison libfl-dev tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk2.0-0 libgtk2.0-dev vtun lxc uncrustify doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra texlive-generic-extra texlive-generic-recommended texi2html python-sphinx dia python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev python-pygccxml libboost-signals-dev libboost-filesystem-dev openmpi-bin openmpi-doc libopenmpi-dev
存储成 xx .sh,然后命令行:
sudo echo y|./xx.sh
脚本安装如何忽略yes/no的交互问题请参考:ref blog
#更新源
sudo apt-get update
#依赖包
sudo apt-get install gcc g++ python python-dev mercurial bzr gdb valgrind gsl-bin libgsl0-dev libgsl2 libgsl2:i386 flex bison libfl-dev tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk2.0-0 libgtk2.0-dev vtun lxc uncrustify doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra texlive-generic-extra texlive-generic-recommended texi2html python-sphinx dia python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev python-pygccxml libboost-signals-dev libboost-filesystem-dev openmpi-bin openmpi-doc libopenmpi-dev-
报错:protobuf的版本太老(最低要求是3.0
结合这个SO 和另一个SO,卸载旧版本,根据这个博客重新安装最新版本- apt remove只能针对apt install安装的东西进行卸载,如果是手动下载然后编译的(make( install ) ),只能make uninstall进行卸载
- 建议就只下载3.1.0的版本,不然版本太高也会报错… :ref (亲自踩坑…)
-
一开始的编译设置开启的是优化模式,我改成了debug模式(便于后期用)
./waf configure -d debug --enable-examples --enable-tests
refer @ newplan
./waf -d debug --enable-examples --enable-tests configure --disable-werror- 最后编译成功,./test.py 也没报错后,运行./waf --run hello-simulator进行测试的时候居然跟我说没有这个program,于是看到别的教程都有安装一些别的依赖项,我就干脆也安一下,安完打出hello world了
sudo apt-get install gcc g++ python # 这个之前就安过了 这里只不过为了搬砖搬的比较完整
sudo apt-get install mercurial # 后面两个之前那个教程连接都没有安过
sudo apt-get install bzr附一个ns3调试指南
当然,也可以用eclipse进行调试
OpenAI gym
python3.5环境下搭建
git clone https://github.com/openai/gym
cd gym
sudo pip3 install -e .[all]
- 在运行sudo pip3 install e.[all]的时候遇到了报错如下:
Command “xxxxx” failed with error code 1 in /tmp/pip-build-0q0dw6ga/mujoco-py/
在网上查找到相应的解决方法如下:
https://github.com/openai/mujoco-py/issues/66
简单来说就是mujoco-py在电脑中cache的版本过低,所以我们就:
git clone https://github.com/openai/mujoco-py.git
cd mujoco-py
sudo apt-get update
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev python3-pip python3-numpy python3-scipy
pip3 install -r requirements.txt
sudo python3 setup.py install
然后重新执行最后一步就可以啦
vsCode
deb安装方式
虽然umake安装很方便,但是deb安装更方便!
umake安装方式
- 安装教程很多,我在网上随便找了个在线安装的
https://www.jianshu.com/p/c732200f442e
注意就是很多教程的最后一步命令错了
umake web visual-studio-code
应该是
umake ide visual-studio-code
感觉也不能说是教程写错了,可能是因为时间的缘故?估计之前umake web是可以的,可能后来版本更新之类的导致必须umake ide了
- 在用umake安装的时候遇到问题:
“AttributeError ProgressBar object has no attribute finished error using ubuntu-make”
参考这篇博客
(虽然感觉直接改成if Ture很虎,但是这种操作也是见怪不怪了…
在VNC下面不可用。但是参照这个SO居然可以了…amazing
sudo sed -i ‘s/BIG-REQUESTS/_IG-REQUESTS/’ /usr/lib/x86_64-linux-gnu/libxcb.so.1
我这边应该是配置的问题,要在普通用户下才可以,如果在root用户下只能通过Xming远程投在自己本机电脑上看了(firefox也是这种情况,所以应该不是vscode的锅,是我哪里配置出问题了。大家什么情况呢?)
大家注意给ubuntu双系统分配磁盘的时候 / 目录不要太小…
我当时给/分了10G、/home分了将近15G,结果我现在就面临 / 目录不够但是/home只用了2G的尴尬境地…很僵硬