大家在python环境下安装gym或者gymnasium框架包的时候经常会遇到问题,最容易出问题的地方应该是卡在安装依赖包box2d
我的电脑环境是windows10和python 3.11.3,下面都是以这个环境进行举例说明。
box2d包严重依赖c和c 模块,因为它是物理模拟运算,使用的c 编程打包成python模块,安装的时候,
如果提示:
C:\Program Files\Python311\include\pyconfig.h(59): fatal error C1083: 无法打开包括文件: “io.h”: No such file or directory
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
如果出现类似的这种提示,说明你的电脑vc框架存在问题,缺少组件。
解决办法:在windows开始程序中找到visual studio installer,如下图所示。
如果你电脑没有这个程序,说明你需要装一个visual studio。
(下面的操作也可以在一开始安装visual studio的时候就完成)打开visual studio installer这个程序以后,点击——修改
打开页面后,然后找到-使用C 的桌面开发
然后选择右面的——使用C 的桌面开发可选组件,一定要勾选——对c /cli支持
然后点击确定修改,等待组件安装完成。
继续用pip安装gym包一般就可以正常完成。
这里需要说明的是,gymnasium包是gym的升级版,建议可以用gymnasium包就可以,因为gym安装的时候,gym包所依赖的其它框架安装包版本号好多已经偏旧。
如果安装还是无法完成,出现如下提示:
上面的图片可能会不太清晰,里面的内容是:
ModuleNotFoundError: No module named 'swig'
error: command 'C:\\Program Files\\Python311\\Scripts\\swig.exe' failed with exit code 1
这里是显示swig出现错误。
swig是连接c/c 和其它编程语言的重要桥梁,特别要注意的是,这时候的原因往往不是你的python环境安装框架包中缺少swig包,恰恰是你已经安装了swig框架包,一定要把它卸载了,可以使用命令pip uninstall swig去卸载。
这时要做的是去swig网站去下载swig软件,网址为https://swig.org/download.html
特别注意:如果你是windows系统,要选择windows版本,如下图示:
把下载的压缩包解压以后,放在硬盘的某个地方,然后把该文件夹路径,一定要添加到系统环境变量的path中,具体怎么添加,这里就不罗嗦了,大家可以自己查阅资料。
swig解压后的文件路径添加到系统环境变量path后,swig软件就可以使用了,如果不放心,就重启一次电脑。
接着然后,使用 pip install gymnasium[all] 命令就可以把所有关联的包全部都安装完成,记着,这之前一定不要pip install swig,在上一个命令中会自动安装swig包,如果你提前安装了swig包,你整个安装将会失败,挽救办法就是pip uninstall swig卸载它,重新再来,目的是让上面下载的swig软件去起作用,而不是swig框架包。