近期在入门强化学习,搭建环境过程遇到很多问题,网上资料比较分散,本人查阅了许多资料才得以解决,将问题与解决方法整理汇总如下。
本人电脑上同时有python3.6和python3.10两个版本,均在同一盘符下,首先尝试直接在pycharm内安装Box2D包,即在pycharm上通过:文件->设置->项目->python解释器->左下角“+”->搜索要安装的包。发现在python3.6版本可以安装成功,但是在python3.10版本安装失败,下面基于此情况对在python3.10版本安装Box2D中踩到的坑进行介绍。
本文最终要实现Gym Documentation网页中第二段代码(直接执行很多报错)
注意:确保已安装gym库、ale-py库、pygame库,下述操作在cmd中完成,进入到要安装的python版本文件中,如D:\python310
由于python3.6版本已经安装了Box2D库,直接使用命令pip install box2d
会提示库已安装(若之前未安装过,则会安装至python3.6版本下)。对此,我们可以将指定版本python目录中的python.exe和pythonw.exe改为其他的名字如python310.exe和pythonw310.exe,再执行python310 -m pip install Box2D
此问题参考文章
https://blog.csdn.net/qq_38418803/article/details/106145674
具体情况如下图
根据提示,说我们安装使用一个已被弃用的方法,缺少基础环境和包。我们首先更新了pip版本,升级至23.0.1,但依旧报同样问题(DEPRECATION中写到 pip 23.1 will enforce this behaviour change,故在未来版本pip中可能解决此问题)但此DEPRECATION个人认为可以忽略,使用python310 -m pip install Box2D --use-pep517
命令可以让DEPRECATION消失但还是无法安装成功,如下图。
问题在图片中最后一行提示 error: command ‘swig.exe’ failed: None,此问题表明我们缺少swig包相关命令,故执行命令python310 -m pip install swig
,完成swig的安装,然后再执行python310 -m pip install Box2D
,完成安装Box2D,如下图。
此问题参考文章
https://github.com/pypa/pip/issues/8559
https://blog.csdn.net/yuan2019035055/article/details/127904975
https://blog.csdn.net/weixin_42188287/article/details/108069285
此时还需要在cmd执行命令python310 -m pip install Box2D box2d-kengz
,执行后程序应该就可以跑起来了,如下图。
此问题参考文章
https://blog.csdn.net/weixin_44104200/article/details/120494390