【pettingzoo环境使用的第一步】

pettingzoo说明文档官网地址:https://pettingzoo.farama.org/content/environment_creation/。

【Start】官方给出了左侧栏中“环境创造” 的“自定义环境示例"和"与ACE环境交互"的代码。 此时新建demo文件粘贴"自定义环境示例代码"运行,无报错也无可视化结果。新建demo2文件粘贴"与ACE环境交互"的代码运行报错如下:
在这里插入图片描述
在这里插入图片描述
此时无论通过"pip install aec_rps " 还是"conda install aec_rps"都无法成功
,且打开清华镜像或阿里云等镜像地址
,并在地址里面搜索“aec_rps”仍无结果,说明该库并不在这几个镜像里。
回到官方文档中仔细查看,发现一句“若与自定义环境交互,…”,猜测无法下载的库“aec_rps”可能指的的“自定义环境”的那部分代码观察里面调用的函数是“env”,则考虑进一步在“自定义环境”代码部分寻找是否存在该函数”
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/57188312b69e403fb05e40ac1b4f626c.png
在“自定义环境”这部分代码中发现存在“env”函数,故“自定义环境代码”即为所需的“aec_rps”库这一猜测的可能性变得更大,故进行尝试。
在这里插入图片描述
方法一:新建一个名为“aec_rps”的py文件,粘贴“自定义环境”这部分代码,以供另一个粘贴了“交互代码”的demo文件使用。
方法二:把二者粘贴到同一个py文件中,但因为处于同一个文件,故不需要使用库的前缀,也即把函数“aec_rps.env”名字替换为“env”即可。
此处使用的第二种方法。
在这里插入图片描述
运行之后有如下报错:
在这里插入图片描述
看错误时自下至上,错误显示“模块不可调用”点一下最下面那行错误的紫色部分,转移至代码的162行,错误显示不可调用的模块是"agent_selector"。鼠标放至"agent_selector"上并按Ctrl键转移至一个同名“agetnt_selector”的py文件下,按照该py文件的位置(鼠标轻轻放在文件名上方)在
该项目文件夹中寻找
,发现该同名文件不是内置库,是自写的py文件。

进一步发现该py文件中也定义了一个名为“agetnt_selector”的函数,故此时可认为出错行代码:“ self._agent_selector = agent_selector(self.agents)”的出错原因是该行代码直接调用了名为“ageent_seletcor”的py文件,而非其中的函数。因此修改方式是在错误出错行加上对“ageent_seletcor”py文件中的“ageent_seletcor”函数的调用,也即把“ agent_selector(self.agents)”更正为“ agent_selector.agent_selector(self.agents)”,即可正确运行。

在这里插入图片描述

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值