aarch64/arm_v8 环境下编译Arcade-Learning-Environment —— ale-py —— gym[atari]的安装
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版本进行编译安装才会更容易。
============================================
aarch64/arm_v8 环境下编译Arcade-Learning-Environment —— ale-py —— gym[atari]的安装的更多相关文章
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- 在SoCEDS环境下编译和更新preloader和uboot程序的方法
在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloade ...
- Android 环境下编译FFmpeg
Android 环境下编译FFmpeg 开发环境:Ubuntu 12.04.2 LTS , android-sdk-linux, android-ndk-r8e 一 .X264 编译 1. X2 ...
- centos7.6环境下编译安装tengine-2.2.2的编译安装
centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...
- Boost学习总结(一)VS2010环境下编译STLport和Boost
Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...
- 在Tex live和Beamer环境下编译中文
在Tex live和Beamer环境下编译中文时,容易出现缺少$的提示错误.它有可能是由于特殊字符所致,如下划线: 也有可能是插图有误所致.
- Suse环境下编译linux-2.6.24内核
Suse环境下编译linux-2.6.24内核 1.下载linux-2.6.24内核源码: https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/ ...
- Centos 7环境下编译mysql 5.7
首先在编译之前,我们要了解相关mysql 5.7的编译选项,官网编译选项地址:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-o ...
- MSYS2环境下编译X265
HEVC(High Efficiency Video Coding),是一种新的视频压缩标准.可以替代H.264/ AVC编码,使得保持相同质量的情况下,体积减少40%左右.目前有多种实现版本,x26 ...
随机推荐
- C#开发的目录图标更改器 - 开源研究系列文章 - 个人小作品
因为有一些项目保存在文件夹里,然后想着用不同的图标来显示该文件夹,但是Windows提供的那个修改文件夹的操作太麻烦,需要的操作太多(文件夹里鼠标右键,属性,自定义,更改图标,选择文件,选择图标,点击 ...
- MESI--CPU缓存一致性协议
概念 MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议. ME ...
- 淘宝二面:千万级数据中如何用Redis维护热点数据"?
MySQL里有千万条数据,但是Redis中只存10万的数据,如何保证redis中的数据都是热点数据? 我是小宋, 一个只熬夜但不秃头的Java程序员.关注我,带你轻松过面试.提升简历亮点(14个dem ...
- C++判断字符串是否相等
话不多说,上代码 bool str_same(char *p1, char *p2) { if (strcmp(p1, p2)) return 0; else for (int i = 0; i &l ...
- Java面试知识点(五)hashmap、hashtable和hashset
1. 关于 HashMap 的一些说法: a) HashMap 实际上是一个 "链表散列" 的数据结构,即数组和链表的结合体.HashMap 的底层结构是一个数组,数组中的每一项是 ...
- SpringBoot中的一些组件
Redis 引入data-redis-starter <dependency> <groupId>org.springframework.boot</groupId ...
- Solo 开发者周刊 (第8期):Claude公司再度上新产品,成交额将超73亿美元
这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 Cla ...
- Java Redis多限流
Java Redis多限流 在Java中实现Redis多限流通常涉及使用Redis的某些特性,如INCR.EXPIRE.Lua脚本或者更高级的Redis数据结构如Redis Bitmaps.Redis ...
- 万维网WWW
万维网是一个大规模的联机式信息储存场所,能方便地从一个网络站点访问另一个网络站点.万维网是一个分布式的超媒体系统. 统一资源定位符URL URL表示从互联网上得到的资源位置和访问这些资源的方法,实际上 ...
- FPGA CFGBVS 管脚接法
说明 新设计了1个KU040 FPGA板子,回来之后接上JTAG FPGA不识别.做如下检查: 1.电源测试点均正常: 2.查看贴片是否有漏焊,检查无异常,设计上NC的才NC: 3.反复检查JTAG接 ...