Ubantu18.04下SUMO和FLOW的详细安装过程

  • Post author:
  • Post category:其他




step1: 选择最快的ubantu国内服务器

1.1 软件和更新-Ubantu软件-选择服务器-选择最佳服务器



step2: 安装miniconda3

2.1 许多教程推荐的是安装anaconda3, 里面东西太多而且容易有各种兼容性问题. 推荐安装miniconda. 是anaconda的精简版, 需要的包可以用conda install ***或者pip install ***自行下载.地址:

https://mirrors.bfsu.edu.cn/anaconda/miniconda/

2.2 安装完成miniconda后, 设置清华服务器作为conda的默认服务器, 具体操作见说明:

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/



step3: 配置pip源

3.1 flow环境里有一部分包需要用pip安装,因此需要配置pip国内镜像源. 经过测试, 我所在地区用douban的服务器速度和可靠性较好,清华源反而速度较慢.

cd~
mkdir .pip
gedit pip.conf

3.2 在pip.conf中输入以下内容:

[global]
index-url=http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

3.3 更新pip版本

pip install update



step4: 安装flow

4.1 首先安装git. (如果系统里已经安装有git,可以略过这一步)

sudo apt install git

4.2下载flow代码

git clone https://github.com/flow-project/flow.git
cd flow

4.3 远吗附带的安装依赖文件有bug会导致冲突使安装失败. 需要修改flow文件夹下的environment.yml和requirement.txt两个文件.也就是删除redis后面的版本要求.

修改后的environment.yml如下:

name: flow

dependencies:
    - python==3.7.3
    - pip:
        - scipy==1.1.0
        - lxml==4.4.1
        - six==1.11.0
        - path.py
        - python-dateutil==2.7.3
        - pip>=18.0
        - tensorflow==1.15.2
        - setuptools==41.0.0
        - plotly==2.4.0
        - gym==0.14.0
        - pyprind==2.11.2
        - nose2==0.8.0
        - cached_property
        - joblib==0.10.3
        - matplotlib==3.0.0
        - dill
        - lz4
        - ray==0.8.0
        - setproctitle
        - psutil
        - opencv-python
        - boto3==1.10.45
        - redis

修改后的requirements.txt如下:

gym==0.14.0
numpy==1.18.4
scipy==1.1.0
lxml==4.4.1
pyprind==2.11.2
nose2==0.8.0
six==1.11.0
path.py
joblib==0.10.3
python-dateutil==2.7.3
cached_property
pyglet==1.3.2
matplotlib==3.1.0
imutils==0.5.1
numpydoc
ray==0.8.0
opencv-python
dill
lz4
setproctitle
psutil
boto3==1.10.45
redis
pandas==0.24.2
plotly==2.4.0
tabulate
tensorflow==1.15.2
awscli==1.16.309
torch==1.4.0
pytz
tensorboardX

4.4 建立名为flow的虚拟环境, 注意指定python版本是3.7.3

conda create -n flow python=3.7.3
activate flow

4.5 安装依赖包. 注意这时应当在flow目录下

pip install -r requirements.txt

4.6 运行flow的安装命令. 这一步不能省.

python setup.py develop



step5: 安装sumo.

5.1 利用flow自带的代码进行安装.

注意最新版的sumo存在不兼容,需要输入安装命令.此时还是在flow文件夹下.

scripts/setup_sumo_ubuntu1804.sh

5.2 自行安装(如果5.1安装步骤失败的话)

cd ~
git clone https://github.com/eclipse/sumo.git
cd sumo
git checkout 2147d155b1
sudo apt-get install build-essential autoconf automake libxmu-dev libfox-1.6-dev libproj-dev libxerces-c-dev libxerces-c3.2 libgdal-dev default-jdk
make -f Makefile.cvs
./configure
make -j$nproc
echo 'export SUMO_HOME="$HOME/sumo"' >> ~/.bashrc
echo 'export PATH="$HOME/sumo/bin:$PATH"' >> ~/.bashrc
echo 'export PYTHONPATH="$HOME/sumo/tools:$PYTHONPATH"' >> ~/.bashrc
source ~/.bashrc

step6: 安装完成后的验证

6.1 验证sumo安装

输入sumo-gui,如果可以出现sumo图形界面就表示安装成功

6.2 验证flow安装

输入以下命令行, 出现sumo图形界面以及车辆的幽灵拥堵,表示sumo-flow安装成功

python examples/simulate.py ring

6.3 验证RL模块的安装

输入以下命令行, 出现训练界面以及reward计算值,表示sumo-flow的RL模块安装成功

python examples/train.py singleagent_ring



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