马尔默计划是一个建立在雷管上的人工智能实验和研究平台。

malmo的Python项目详细描述


用于malmo的pip可安装包

malmo可以从源代码构建(关于从源代码构建的说明) 或从预构建版本轻松安装 (从预构建版本安装)。 然而,安装malmo作为windows、macos或linux的python本机平台控制盘往往更简单和足够。

先决条件

为了pip3安装malmo必须满足一些环境和操作系统依赖性要求:

  1. 必须安装Java 8并为Java8设置Java_HOME环境变量。

  2. git应该安装在shell搜索路径上。

  3. 必须将malmo_xsd_path设置为xsd架构文件所在的位置(下面详细介绍)。

  4. 必须预先安装一些特定于操作系统的依赖项。

    • 对于ubuntu-linux,如下所示: python3 pip ffmpeg openjdk-8-jdk git, 我们很快会在这里添加更多Linux风格的细节,但同时Docker构建脚本是一个很好的开始。

    • Windows-请使用手动安装来安装依赖项。 (依赖项是python3、ffmpeg、7zip、java8和其他git。)

    • MacOSX-请参见MacOSX

  5. < > >

    如果您不确定要为您的linux风格预安装什么, Malmo Docker构建文件可能是一个很好的开始 (Docker生成文件)。

    使用预先构建的Docker图像

    与其手动安装这些依赖项,不如使用Docker使用我们预先构建的Docker映像启动Docker容器。

    我们的docker镜像已经安装了malmo python包,以及源代码和minecraft (当然还有依赖关系),以及jupyter服务器,这样就可以立即开始编码了!

    Docker容器将启动Malmo Minecraft mod和Jupyter服务器, 并设置为允许通过 VNC远程桌面显示协议 这样您就可以看到在容器中运行的minecraft游戏。

    docker run -it -p 5901:5901 -p 6901:6901 -p8888:8888 -e VNC_PW=vncpassword andkram/malmo
    

    您可以在上面的docker run命令中添加一个-v drive:/somedir:/somedir选项来挂载一个目录 用于共享编码项目文件。您还应该选择另一个难以猜测的密码。

    要访问容器,请浏览http://localhost:6901/?password=vncpassword(或使用vnc客户端连接到端口5901)。

    一旦水雷艇在集装箱中完全下水(集装箱首次运行可能需要几分钟时间) 您应该在"打开浏览器"选项卡中的VNC桌面中看到它。

    在启动minecraft之后,jupiter服务器也会启动,并在docker容器的输出中写入连接建议提示。 请按照建议将url剪切并粘贴到另一个浏览器选项卡中,但用localhost替换0.0.0或地址url部分 (因为我们正在将8888端口连接到Docker容器)。

    输出如下:

    Copy/paste this URL into your browser when you connect for the first time,
        to login with a token:
            http://0.0.0.0:8888/?token=1c6390221431ca75146946c52e253f063431b6488420bbac
    

    (在这里您应该使用:http://localhost:8888/?令牌=1C639022143CA75146946C52E25F063431B6488420BBAC对于Jupyter。)

    要在jupyter中运行一个示例任务,请创建python3笔记本并输入m中的almo.run_mission import run;run()并执行笔记本。

    使用PIP在本地安装

    如果您希望在本地安装malmo而不使用docker,您可以这样做 (在满足上述操作系统和环境变量要求后)使用:

    pip3 install malmo
    

    创建或更改到要安装malmo的工作目录(在名为malmoplatform的子目录中)并执行以下操作:

    python3 -c 'import malmo.minecraftbootstrap; malmo.minecraftbootstrap.download()'
    

    此命令将在(当前)工作目录中创建包含malmo github项目的新目录(称为malmoplatform)。默认情况下,将下载主分支。您可以使用字符串关键字参数(名为branch)为下载函数指定一个分支-如果最近未安装malmo包,并且由于某种原因再次下载,则可能需要此参数。

    请记住设置malmo_xsd_path环境变量以指向malmoplatform/schemas目录。 即工作目录和malmoplatform/schema的完整路径。

    或者,可以在python中使用malmo.minecraftbootstrap.set_malmo_xsd_path();语句在 在下面的python命令中导入malmo.minecraftbootstrap;模块导入。

    现在您可以从工作目录启动minecraft:

    python3 -c 'import malmo.minecraftbootstrap; malmo.minecraftbootstrap.launch_minecraft()'
    

    这可能需要一些时间(如果是第一次运行,则需要几分钟,因为它需要构建minecraft forge)。

    malmo包包含一个简单的测试任务,您可以在另一个shell/终端会话中按如下方式运行:

    python3 -c 'from malmo.run_mission import run; run()'
    

    (在sessond shell或终端会话中,如果尚未设置malmo.minecraftbootstrap.set_malmo_xsd_path()语句,请添加一个malmo.minecraftbootstrap.set_malmo_xsd_path。)

    你也可以在朱庇特执行任务。只需创建一个python3笔记本 将malmo.run_mission import run;run()中的添加到笔记本并执行它。

    要开始编码,可以尝试import malmo;help(malmo)。 malmo python子模块(import malmo.malmopython)是所有malmo python示例使用的本机库。

    运行现有示例

    如果希望在不编辑导入的情况下对pip"malmo"模块运行旧的malmo示例 然后您可能想从中复制malmopython.py和malmoutil.py PIP包向后兼容目录或将它们包含在pythonpath中。

    卸载

    要卸载,请删除(下载的)malmoplatform目录及其内容,并执行pip3 uninstall malmo

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
JAVAutil。整数java的扫描器键盘输入   java通知运行后立即崩溃   java如何在一个只能由类修改而不能由其实例修改的类中生成静态变量?   数据库Java字段猜测   返回值周围的java括号为什么?   java Android更新通讯录中的联系人   一个消费者正在读取数据   java是否可以通过编程方式为蓝牙配对设置pin?   java Spring引导和buildResponseEntity()   java为什么序列化可以在没有实现可序列化的情况下工作   Java同步无助于相互排斥   twitter Java Twitter4J未在推文下显示源标签   为什么Javasocket不支持中断处理?