GRF环境配置

本文最后更新于:2024年11月12日 下午

GRF环境配置

源代码仓

https://github.com/google-research/football

安装依赖

1
2
3
4
5
sudo apt-get install git cmake build-essential libgl1-mesa-dev libsdl2-dev \
libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev \
libdirectfb-dev libst-dev mesa-utils xvfb x11vnc python3-pip

python3 -m pip install --upgrade pip setuptools psutil wheel

安装GFootball

1
python3 -m pip install gfootball

报错1 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (gfootball)

尝试解决方案1:更新wheel版本,0.44降到0.38.4,无效

尝试解决方案2:先将GRF的代码仓clone下来,无效

尝试解决方案3:无效

查看cmake版本:cmake --version,报错如下图

但使用dpkg能够查到cmake,dpkg -l | grep -E "cmake",如下图

使用echo $PATH发现cmake没有配置环境变量,修改.bashrc也无效(export PATH="/usr/bin:$PATH"

尝试解决方案4:删除cmake,重新安装——有效

删除cmake,sudo apt remove cmake

重新安装cmake,sudo apt-get install cmake

报错2 ModuleNotFoundError: No module named 'skbuild'

尝试解决方案1:安装skbuildpip install scikit-build,似乎有效。。。(反正用新终端再执行命令时,出现新错误了)

报错3 Cannot find boost python

参考issue:https://github.com/google-research/football/issues/310、https://github.com/google-research/football/issues/194

尝试解决方案1:ubuntu18.04,创建一个python=3.6的虚拟环境。无效

尝试解决方案2:clone代码仓,使用python3 -m pip install .安装。无效

尝试解决方案3:修改cmakelist,使用find . -name CMakeLists.txt找到cmakelist,使用find_package(PythonLibs 3.6 REQUIRED)替换find_package(PythonLibs 3 REQUIRED)。无效

尝试解决方案4:安装3.12版本cmake。参考https://blog.csdn.net/weixin_42035347/article/details/125763949

1
2
3
4
5
6
7
8
9
10
下载CMake3.12(不需要解压到特定路径)
wget https://github.com/Kitware/CMake/releases/download/v3.12.0/cmake-3.12.0.tar.gz
或者 wget https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.tar.gz
tar -zxvf cmake-3.12.0.tar.gz
cd cmake-3.12.0

编译和安装CMake
./bootstrap
make -j$(nproc)
sudo make install

尝试解决方案5:参考https://blog.csdn.net/qq_26565435/article/details/129040032

find_package语句前添加set(Boost_DEBUG ON),发现代码找Boost时,找到了anaconda/lib/cmake路径下(原因不明),修改文件名,让编译时找不到anaconda下的cmake

尝试解决方案6:参考issuehttps://github.com/google-research/football/issues/317,完美解决(python=3.6,跟ubuntu18.04匹配)

conda install py-boost

运行示例程序

python3 -m gfootball.play_game --action_set=full

报错4 signal 11

尝试解决方案1:参考issue:https://github.com/google-research/football/issues/154,无效

尝试解决方案2:参考issue:https://github.com/google-research/football/issues/205,有效

添加参数--render=False

尝试解决方案3:参考https://blog.csdn.net/FRIGIDWINTER/article/details/129301640,终端无反应,看起来无效

总结

  1. conda环境python版本和ubuntu默认python版本一致,例如ubuntu=18.04,使用python=3.6
  2. conda环境中手动conda install py-boost
  3. 在服务器端运行环境时关闭渲染--render=False

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!