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

Python 3.10.10运行KerasRL CartPole示例报错,替换KerasRL2仍异常

KerasRL CartPole 示例错误解决方案

处理 ModuleNotFoundError: No module named 'keras.utils.generic_utils'

原KerasRL仓库已停止维护,和高版本TensorFlow/Keras兼容性极差。keras.utils.generic_utils在新版Keras里被移到了tensorflow.keras.utils.generic_utils,但直接改源码容易触发更多兼容问题,推荐两种靠谱处理方式:

  • 降级Keras到原KerasRL支持的最高稳定版2.3.1:
    pip install keras==2.3.1
    
  • 改用维护中的KerasRL2兼容分支,先卸载现有冲突包:
    pip uninstall keras-rl keras-rl2 -y
    
    再从指定源码安装:
    pip install git+https://github.com/wau/keras-rl2.git
    

处理 ImportError: cannot import name '__version__' from 'tensorflow.keras'

这个错误是因为新版TensorFlow/Keras移除了tensorflow.keras.__version__的直接导出,修复步骤很简单:

  1. 找到Python环境中keras-rl2的__init__.py文件(一般在Lib/site-packages/rl/__init__.py路径下)
  2. 找到导入__version__的代码行,替换成:
    from tensorflow.keras import version_utils
    __version__ = version_utils.__version__
    
  3. 保存文件后重新运行代码

额外建议:用虚拟环境隔离依赖

避免全局包版本冲突,创建独立虚拟环境后再装依赖:

python -m venv rl_env
# Windows激活环境
rl_env\Scripts\activate
# Linux/macOS激活环境
source rl_env/bin/activate
# 安装兼容版本的依赖组合
pip install tensorflow==2.10.0 keras==2.10.0 gym==0.26.2
pip install git+https://github.com/wau/keras-rl2.git

内容的提问来源于stack exchange,提问作者Rasmus Kristian Jensen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:10:11