在 Linux 环境下使用 Python 调用 SUMO 进行相关训练时,通常需要先安装 SUMO。然而,在某些情况下,网络连接可能不可用,因此本文提供了 SUMO 的离线安装方法。
Step1:检查基础依赖包是否完整
基本的依赖项如果有别的缺失的可以网上找相关的.rpm文件,这里只提供笔者所缺失的。
1、xerces-c
这是 SUMO 依赖的 XML 解析库,由于条件受限不能联网,于是别的电脑下载了xerces-c的.rpm包,然后传输到本机并使用以下的命令进行安装。
下载方式1 :前往https://archive.apache.org/dist/xerces/进行下载。
下载方式2 :这里也提供了本人所使用的版本,链接:https://pan.baidu.com/s/11KLq2K2IEatZrPNbZzpb7g?pwd=0413
提取码:0413
powershell
sudo rpm -ivh xerces-c-3.1.1-10.el7_7.x86_64.rpm
sudo rpm -ivh to/xerces-c-devel-3.1.1-10.el7_7.x86_64.rpm
2、Cmake
由于离线SUMO使用到了Cmake命令,但是本机要求要在3.4.0版本以上,所以这里提供了3.5.0版本的Cmake。【使用前记得卸载掉原有的版本】
链接:https://pan.baidu.com/s/1Y9jpt7U0Vz0ThCjCW-hFRA?pwd=0413
提取码:0413
powershell
1、解压缩 Cmake 源码
tar -xzvf cmake-3.5.0.tar.gz
cd cmake-3.5.0
2、配置编译环境
./bootstrap
3、编译 Cmake
make -j$(nproc)
4、安装 CMake
sudo make install
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
5、检查 CMake 版本
cmake --version
Step2:SUMO的安装
这里所使用的是 sumo_1.15.0版本的,可以前往官网https://sourceforge.net/projects/sumo/下载。这里也提供所用版本,链接:https://pan.baidu.com/s/1oS-L-CX1FElEVN-LLvGD0w?pwd=0413
提取码:0413
powershell
1、解压 SUMO 源代码
tar -xzvf sumo-1.15.0.tar.gz
cd sumo-1.15.0
2、运行 Cmake
mkdir build/cmake-build
cd build/cmake-build
cmake ../..
3、编译 SUMO
make -j$(nproc)
4、安装 SUMO
sudo make install
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
5、环境变量配置,需要编辑 ~/.bashrc 文件,添加以下内容:
export SUMO_HOME=/usr/local/share/sumo
export PATH=$PATH:$SUMO_HOME/bin
source ~/.bashrc
6、版本验证,如果出现下图则说明安装成功
sumo --version
版本出现成功,但是运行的时候还是sumo未检测到,import traci失败,需要考虑环境变量是否真的正确,运行的.py脚本的路径是否一致。
其他
gymnasium-0.28.1的安装,使用下面命令即可安装:
powershell
pip install gymnasium-0.28.1-py3-none-any.whl
但是这里需要下载另外的前置包,因此需要先执行其他包的安装在进行gymnasium的安装,完整命令如下
powershell
1、步骤一
pip install typing_extensions-4.12.2-py3-none-any.whl
pip install numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
pip install jax_jumpy-1.0.0-py3-none-any.whl
pip install Farama_Notifications-0.0.4-py3-none-any.whl
2、步骤二
pip install gymnasium-0.28.1-py3-none-any.whl
这里也提供了下载链接:https://pan.baidu.com/s/1ldsS5AiNgFAKI8Mr_Ve6Gw?pwd=0413
提取码:0413