先是anaconda3下创建虚拟环境,结果因为之前创建过,直接在base虚拟环境下创建了。于是报错极多,且debug一个之后又出现新的bug。
conda deactivate,退出当前虚拟环境。
conda create -name gym python==3.7创建环境
之后conda activate gym激活,进入该虚拟环境,然后pip install gym。
之后运行文件gym88.py,报错没有rendering,搜索之后自己创建了这个py文件并且在init中添加一行代码,但是之后又开始报错说没有six(emmmm我请问呢?)一样的步骤别人都已经运行出来了
之后手动import six,然后又报错了
Cannot import pyglet. HINT: you can install pyglet directly via 'pip install pyglet'. But if you really just want to install all Gym dependencies and not have to think about it, 'pip install -e .[all]' or 'pip install gym[all]' will do it.
然后直接pip又显示python3.7版本太低。之后卸载重装个低版本的
pip uninstall pyglet
pip install pyglet==1.2.4
ok,至此,第一个py文件运行成功。
总结就是,第一是虚拟环境创建位置不对,对conda不熟悉,第二就是不知道是不是电脑的问题,一样的代码过程,别人一下就成功我这卡卡卡。不过还好学到了很多东西。
gym99.py
忘记说了在之前有的步骤报错之后,系统提示pip install gym[all],然后这里面就显示pip失败,
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for box2d-py
Running setup.py clean for box2d-py
Failed to build box2d-py
Installing collected packages: box2d-py, pygame
Running setup.py install for box2d-py ... error
error: subprocess-exited-with-error
然后再搜索,发现说是box2d依赖swing,swig将c/c++代码封装为Python库的工具,但是swig并不是一个python库,无法pip安装,是因为本地操作系统上没有安装swig。按照说的安装了,环境变量添加了,仍然报错
说visual stdio版本不够,重新安装试试
(突然想到之前有一次,调程序时候把path全删了然后又一个一个加上了,幸亏当时pycharm没关,之前的path没更新,不会是因为这吧...)
安装失败
ok又试了试!visual安装了2022的,安装成功之后box2d也安装成功了!在安装vs时候选择c++桌面的那个。
但gym99仍然报错
找到了一个说是需要安装
pip install gym==0.19.0
pip install atari_py==0.2.6
第一个成功,第二个又来了,熟悉的安装box2d时候的错误格式
服了
Error: We're Unable to find the game "Breakout". Note: Gym no longer distributes ROMs. If you own a license to use the necessary ROMs for research purposes you can download them via `pip install gym[accept-rom-license]`. Otherwise, you should try importing "Breakout" via the command `ale-import-roms`. If you believe this is a mistake perhaps your copy of "Breakout" is unsupported. To check if this is the case try providing the environment variable `PYTHONWARNINGS=default::ImportWarning:ale_py.roms`. For more information see: https://github.com/mgbellemare/Arcade-Learning-Environment#rom-management
。。。