0

我正在尝试遵循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 install 每个包,但我觉得这些包丢失一定有一个根本原因 - 有没有办法让 python 自动拉入命名模块,即使它没有以这种方式预先安装node.js 如何自动安装引用的依赖项,这样我就不必手动安装每个丢失的包?

4

2 回答 2

0

我所做的,我知道这可能不是正确的方法,就是简单地清除根 anki 文件夹并将所有应用程序脚本复制到其中,然后导入工作。

于 2019-09-08T16:37:49.783 回答
0

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

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

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

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

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

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

于 2019-06-02T04:38:11.077 回答