Anki 2.1.49使用时出现AssertionError报错问题咨询
错误产生原因
这个报错是Anki 2.1.49版本的已知缺陷,触发根源是卡组配置数据关联异常:
堆栈最终在anki/decks.py的config_dict_for_deck_id方法抛出AssertionError,说明程序调用某张卡片所属卡组的配置参数时,找不到对应ID的配置条目。常见触发场景有两个:
- 你之前删除过自定义的卡组配置方案,但仍有卡组/卡片绑定了已经被删除的配置ID,调用时无匹配数据触发断言失败
- 导入的外部共享卡组携带的配置ID和你本地现有配置ID不匹配,不存在对应配置条目
解决方案
按优先级依次执行以下操作即可解决:
- 首先排查第三方插件影响:按住Shift键启动Anki,此时会临时禁用所有插件,尝试正常刷题复现报错。如果不再报错,说明是第三方插件导致的配置调用异常,可逐个启用插件排查出问题插件后卸载即可
- 修复无效卡组配置关联:
- 点击Anki主界面顶部菜单栏的
工具->管理卡组配置 - 检查所有现有配置方案,删除名称为空、显示异常的无效配置
- 为所有卡组重新分配有效配置:右键任意卡组 -> 选择
选项-> 在配置组下拉框选择一个现存的有效配置,点击保存,可同时选择将配置应用到所有子卡组
- 点击Anki主界面顶部菜单栏的
- 修复损坏的数据库:点击顶部菜单栏
工具->检查数据库,等待Anki自动修复卡片、卡组的关联数据错误 - 如果以上操作均无效,直接升级Anki到最新稳定版本即可,该配置断言问题在2.1.49之后的版本已经被官方修复
内容的提问来源于stack exchange,提问作者Adam Dziób
相关产品推荐
相关产品推荐

