ai玩游戏(马里奥)项目详解 (一)环境安装 pip nes_py的诸多安装问题:Microsoft Visual C++ 14.0 or greater is required和此处不应有\xxx等
本文详细讲解了如何在Windows环境中下载nes_py库,解决了Microsoft Visual C++ 14.0 or greater is required、此处不应有\xxx、ValueError: not enough values to unpack (expected 5, got 4)这几个在安装热门强化学习ai测试、学习游戏:gym-super-mario-bros可能会遇到的问
(一) 项目介绍与本文内容
笔者希望通过实践学习强化学习,找了很久,找到一篇很不错的材料,是油管大佬
做的ai玩马里奥游戏(https://www.youtube.com/watch?v=dWmJ5CXSKdw)
免翻墙:b站转载网址
本系列是笔者记录在实践中遇到的各种问题的解决方法和解释。
由于是两年前的教材,让本就难装的环境雪上加霜,本文详细记录了安装
过程与可能遇到的问题,希望可以对想试试强化学习训练游戏AI的朋友有所帮助~
(二) nes_py库与gym-super-mario-bros库
1)nes_py库
nes_py是任天堂游戏的py接口,想要下载gym-super-mario-bros库需要
优先下载nes_py库。我们运行pip install nes_py, 会遇到第一个问题。
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for nes-py
Running setup.py clean for nes-py
Failed to build nes-py
错误提示 缺少microsoft visual c++的生成工具,我们可以免费安装一下安装地址,
然后我们点击社区版免费下载,得到一个VisualStudioSetup.exe,点开后请不要修改下载
的各种路径,直接继续即可,最后打开如下:
如图勾选使用C++的桌面开发,右下角可选不用动,直接下载安装,等安装完关掉即可。
接下来再次运行pip install nes_py 会发现问题没有得到解决,很多文章就没
接下来的操作了,事实上,我们还需要把装好的生成文件加入环境变量。
SET DISTUTILS_USE_SDK=1
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
如果按照本文上面提的不要改变路径,那打开cmd命令行,依次输入这两行代码即可
第二行指令有可能会遇 到此处不应有\Common,或者不应有\JAVA\xxx,那是我们JAVA
的环境变量不对导致的。
请按照图片所示,修改自己所有包含JAVA的项,PATH里按第一张图,只需要标蓝
的这一条就够了,系统变量里,请如图设置CLASSPATH和JAVA_HOME.设置完之后就可 重新运行加环境变量的代码了~
至此,可以直接pip install nes_py了~
2)gym-super-mario-bros
直接pip install gym-super-mario-bros==7.3.0一般不会有问题
(三) 其他库和版本问题
我们安装好后进入编译器,输入官方给的代码进行尝试,查看是否运行正确
from nes_py.wrappers import JoypadSpace
import gym_super_mario_bros
from gym_super_mario_bros.actions import SIMPLE_MOVEMENT
env = gym_super_mario_bros.make('SuperMarioBros-v0')
env = JoypadSpace(env, SIMPLE_MOVEMENT)
done = True
for step in range(5000):
if done:
state = env.reset()
state, reward, done, info = env.step(env.action_space.sample())
env.render()
env.close()
运行发现有如下error
ValueError: not enough values to unpack (expected 5, got 4)
这是因为库版本不对(没看到有任何一篇提到这个问题),我们需要装正确的
版本的库,具体需要的各个代码如下
##环境##
#pip install gym==0.23
#pip install nes_py==8.1.8
#pip install gym-super-mario-bros==7.3.0
#pip install stable_baselines3==2.0.0
#pip install Optuna
重新装完就成功啦~快开启你的强化学习--ai玩马里奥的训练吧~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)