Anaconda环境安装Gym时opencv-python编译Wheel失败求助
解决gym==0.15.4安装时opencv-python编译失败的问题
问题根源
gym==0.15.4默认会拉取较新版本的opencv-python,但Python3.6已停止维护,新版本opencv-python不再兼容Python3.6,而报错里的python/cv2/py.typed是类型标注文件,仅存在于不支持py3.6的新版opencv中,这就导致了安装时的编译冲突。
可行解决方案
方案一:先安装兼容Python3.6的opencv版本
- 激活你的
universe虚拟环境:conda activate universe - 安装适配Python3.6的最后一批opencv-python版本之一(4.5.5.62经测试可稳定运行):
pip install opencv-python==4.5.5.62 - 再次执行gym安装命令,此时pip会复用已安装的兼容版本,不会再尝试编译新版opencv:
pip install gym==0.15.4
方案二:源码安装gym并排除自动依赖
如果方案一仍有问题,可手动控制依赖安装:
- 先安装gym所需的其他核心依赖:
pip install numpy scipy matplotlib pyglet PyOpenGL ffmpeg - 下载gym 0.15.4的源码包:
wget https://github.com/openai/gym/archive/refs/tags/0.15.4.tar.gz - 解压并进入源码目录:
tar -xzf 0.15.4.tar.gz cd gym-0.15.4 - 编辑
setup.py文件,找到包含opencv-python的依赖行,将其注释或删除,避免pip自动拉取不兼容版本。 - 从源码安装gym:
pip install -e .
系统依赖前置检查
确保Xubuntu系统已安装opencv的系统级依赖,避免编译时缺失底层库:
sudo apt-get install libopencv-dev libgl1-mesa-glx libgl1-mesa-dev
内容的提问来源于stack exchange,提问作者Damika
相关产品推荐
相关产品推荐

