aarch64架构下不支持gym[atari]安装,因此我们只能在该环境下安装gym,对于atari环境的支持则需要源码上重新编译,也就是本文给出的下面的方法:
源码下载:
https://github.com/Farama-Foundation/Arcade-Learning-Environment
git clone https://github.com/Farama-Foundation/Arcade-Learning-Environment
===================================
gym安装:
pip install gym
G++安装:
conda install gxx=12 -c conda-forge
使用conda安装依赖库:
conda install zlib
conda install -c conda-forge sdl2
指定头文件地址:
export CPLUS_INCLUDE_PATH=/usr/include:$CPLUS_INCLUDE_PATH
源码编译并安装ale-py:
cd Arcade-Learning-Environment/
python setup.py install
安装ROM文件:
pip install gym[accept-rom-license]
============================================
C++环境下的编译:
cmake ../ -DCMAKE_BUILD_TYPE=Release -DPYTHON_INCLUDE_DIR=/home/share/xxx/home/software/anaconda3/include -DPYTHON_LIBRARY=/home/share/xxx/home/software/anaconda3/lib/libpython3.11.so -DPython3_EXECUTABLE=/home/share/xxx/home/software/anaconda3/bin/python
cmake ../ -DCMAKE_BUILD_TYPE=Release -DPYTHON_INCLUDE_DIR=/home/share/xxx/home/software/anaconda3/include -DPYTHON_LIBRARY=/home/share/xxx/home/software/anaconda3/lib/libpython3.11.so -DPython3_EXECUTABLE=/home/share/xxx/home/software/anaconda3/bin/python
cmake --build .
PS:
如果C++版本变异成功,那么python版本的就一定可以编译并安装成功,这里对C++版本进行编译只是为了配置环境,为python版本编译和安装作铺垫。
============================================
安装成功:
============================================
PS:
这里有个观点,那就是如果C++编译可以通过,那么python setup.py install 就一定可以成功,所以在这里我们是先通过对C++版本的编译来进行环境配置的,然后再进行python版本安装的;要注意,之所以先对C++版本进行编译并不是说这里要用C++版本,而是因为C++版本进行编译时报错信息更方便调试,这样就可以更容易的进行配置,然后再对python版本进行编译安装才会更容易。
============================================