首页 > 解决方案 > 如何调试 OSError:[Errno 22] Anki(开源闪存卡应用)插件 Morphman 的无效参数错误

问题描述

尝试使用/调试用于基于 Python 的开源抽认卡应用 Anki 的附加组件。使用 python 链接与基于 python 的开源 NLP 处理器 Spacy 进行通信。附加组件 Morphman 与 Spacy 通信并获取 POS 标记和依赖标签。当我尝试通过语言处理器通过“重新计算”传递抽认卡的某些字段时出现此异常,该“重新计算”会为所有用户指定的抽认卡计算这一点。

在这里询问是因为该项目似乎已被腾空,并且开发人员并未积极支持它。

附加 组件 https://github.com/rteabeault/MorphMan/tree/rteabeault/spacy_support

Debug info:
Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
Platform: Windows 10
Flags: frz=True ao=True sv=1
Add-ons, last update check: 2021-03-28 23:12:08

Caught exception:
Traceback (most recent call last):
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman__init__.py", line 17, in onMorphManRecalc
    main.main()
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman\morph\main.py", line 573, in main
    allDb = mkAllDb(cur)
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman\morph\main.py", line 195, in mkAllDb
    ms = getMorphemes(morphemizer, fieldValue, ts)
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman\morph\morphemes.py", line 166, in getMorphemes
    ms = morphemizer.getMorphemesFromExpr(expression)
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman\morph\morphemizer.py", line 51, in getMorphemesFromExpr
    morphs = self._getMorphemesFromExpr(expression)
  File "C:\Users\AppData\Roaming\Anki2\addons21\Morphman\morph\deps\spacy\morphemizer.py", line 40, in _getMorphemesFromExpr
    self.proc.stdin.flush()
OSError: [Errno 22] Invalid argument

标签: pythonspacyanki

解决方案


推荐阅读