Anki python脚本:缺少多个模块

时间:2018-07-22 04:16:11

标签: python module anki

我正在尝试按照https://www.juliensobczak.com/tell/2016/12/26/anki-scripting.html的教程

然后我已经建立了“ listcards.py”基本脚本,已经克隆了anki并安装了虚拟环境以及anki / requirements.txt文件中的要求。

但是,当我从名为“ listcards.py”的教程中运行脚本时,我注意到未找到模块“ anki.sched”。 (“ ModuleNotFoundError:没有名为'anki.sched'的模块)

虽然我可以通过pip安装每个软件包,但我感觉到这些软件包一定是有根本原因的-有一种方法可以让python自动装入命名模块,即使未预先安装也是如此以如何自动安装node.js引用依赖项的方式,这样我就不必手动安装每个丢失的软件包?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。 anki.sched是您克隆的anki存储库中包含的软件包,因此它确实存在于您的计算机上。您将无法使用pip安装它。

对我来说,解决方案是编写在sys.path.append中克隆的anki存储库的绝对路径,而不是相对路径。例如,如果您的脚本位于/Users/anki/scripts中,而克隆的anki存储库位于/Users/anki/anki中,则在导入anki模块之前,请在脚本中写入以下内容:

sys.path.append("/Users/anki/anki")

而不是这个(本教程中提供):

sys.path.append("../anki")

我不确定100%为什么后者会失败,但是由于相对的引用,Anki必须在错误的位置寻找anki.sched模块。

答案 1 :(得分:0)

我所做的,而且我知道这可能不是正确的方法,只是清除根anki文件夹并将所有应用程序脚本复制到该文件夹​​,然后导入就可以了。