我正在尝试按照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引用依赖项的方式,这样我就不必手动安装每个丢失的软件包?
答案 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文件夹并将所有应用程序脚本复制到该文件夹,然后导入就可以了。