You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MiniWorld-PickupObjects环境加载失败问题求助

解决MiniWorld环境加载失败的方案

1. 验证集群依赖安装与环境注册

  • 先卸载现有相关包,重新安装版本匹配的依赖(避免版本兼容问题):
    pip uninstall -y gymnasium minigrid miniworld
    pip install gymnasium==0.29.0 miniworld==2.0.0
    
  • 安装完成后,运行以下代码确认环境是否注册成功:
    import gymnasium
    from miniworld import register_envs
    register_envs()
    # 打印所有MiniWorld相关环境
    print([env_id for env_id in gymnasium.envs.registry if 'MiniWorld' in env_id])
    
    若输出包含MiniWorld-PickupObjects-v0,说明环境已成功注册。

2. 对齐本地与集群的Python环境

  • 检查集群使用的Python解释器路径,确保和本地一致:
    which python
    
  • 对比本地与集群的依赖版本,确保完全匹配:
    pip list | grep -E "gymnasium|miniworld|minigrid"
    
    若使用虚拟环境,确认集群已激活对应环境:
    source path/to/your/venv/bin/activate  # Linux/macOS
    

3. 手动注册环境(自动注册失效时)

如果自动注册未生效,在代码中手动注册目标环境,同时修正原代码的两处小问题:

import gymnasium
from miniworld.envs.pickupobjects import PickupObjects

# 手动注册MiniWorld-PickupObjects-v0环境
gymnasium.register(
    id='MiniWorld-PickupObjects-v0',
    entry_point='miniworld.envs.pickupobjects:PickupObjects',
    kwargs={'render_mode': 'human', 'domain_rand': False}
)

env = gymnasium.make('MiniWorld-PickupObjects-v0')
for i_episode in range(50):
    obs, info = env.reset()  # gymnasium.reset()返回(观测值, 信息),需完整接收
    done = False
    episode_Step = 0
    while not done:
        action = env.action_space.sample()
        next_state, reward, terminated, truncated, info = env.step(action)
        done = terminated or truncated  # 布尔值用逻辑或判断结束,而非加法
        env.render()
env.close()

4. 检查集群权限与路径

  • 确认当前用户对Python包安装目录有读写权限,避免依赖包未被正确加载。
  • 若集群存在多版本Python共存情况,直接使用完整路径调用Python解释器(如/usr/bin/python3.10)执行代码,避免版本混淆。

内容的提问来源于stack exchange,提问作者user19826638

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:23:19