AttributeError: ‘HTMLWriter‘ object has no attribute ‘_temp_names‘解决方法

问题1,在【日】小川雄太郎的《边做边学深度强化学习》一书中,第3.2章中的代码运行时一开始报错:TypeError: render() got an unexpected keyword argument ‘mode‘

问题1的解决:这可能是因为一些库的版本问题,有网友试过将gym和pyglet设置成:

  • gym:0.17.1
  • pyglet:1.5.0

确实有效,我亲试过

问题2,但是又遇到了新的问题,报错:AttributeError: 'HTMLWriter' object has no attribute '_temp_names'

问题2的解决:有日本网友给出过解决方案,在下面网址中:

JSAnimationのAttributeError:”: 'HTMLWriter' object has no attribute '_temp_names'”を解決したい (teratail.com)

但是这个网址中给出的两种解决方案,它的第一种方案我试了没有用,改完之后还是会有其他的错误出来,我试的第二种有效,下面把第二种解决方法简单描述一下

  1. 打开你编写代码的.py文件(就是你写代码的那个文件
  2. 找到你的 animate_frames 方法。(如果没有可以不用管,我就是没有,然后直接把第三步的第一个代码块放到最前面就行)
  3. 在animate_frames 方法之前添加代码(添加的包放到最前面):
import matplotlib.pyplot as plt
from IPython.display import HTML

def display_animation(anim):
    plt.close(anim._fig)
    return HTML(anim.to_jshtml())

找到下面这句代码:

display(display_animation(anim, default_mode='XXX'))

把它改成:

display(display_animation(anim))

还有下面这句代码可以删除,也可以不用管:

from JSAnimation.IPython_display import display_animation

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值