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

OpenAI Gym CartPole问题:numpy 2.1.1无bool8属性报错求助

解决CartPole代码中numpy.bool8不存在的问题

问题原因

numpy 2.x版本移除了bool8别名,而你使用的Gym 0.26.2版本内部代码仍在调用numpy.bool8,导致兼容性报错——你的代码本身没有问题,是依赖库版本不匹配引发的。

解决方法

方法一:手动修改Gym内部代码(无需更换依赖)

  1. 打开终端执行以下命令,找到Gym的安装目录:

    pip show gym
    

    复制输出里的Location路径(比如C:\PythonXX\Lib\site-packages\gym)

  2. 进入该目录,用编辑器的全局搜索功能查找所有包含np.bool8或numpy.bool8的文件

  3. 将所有找到的np.bool8替换为np.bool_,numpy.bool8替换为numpy.bool_,保存修改后重新运行代码即可。

方法二:切换到Gymnasium(推荐,长期兼容)

Gym官方已迁移到Gymnasium项目,新版本完全支持numpy 2.x,步骤如下:

  1. 卸载旧版Gym:
    pip uninstall gym -y
    
  2. 安装Gymnasium:
    pip install gymnasium
    
  3. 修改代码适配Gymnasium:
    import gymnasium as gym
    
    # 创建环境并指定渲染模式
    env = gym.make('CartPole-v1', render_mode="human")
    
    # reset返回(state, info),取第一个值
    state, _ = env.reset()
    
    # 运行1000步
    for _ in range(1000):
        env.render()
        action = env.action_space.sample()
        # Gymnasium的step返回5个值:state, reward, terminated, truncated, info
        state, reward, terminated, truncated, info = env.step(action)
    
        # 终止或截断时重置环境
        if terminated or truncated:
            state, _ = env.reset()
    
    env.close()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 13:15:54