Anki python脚本:缺少多个模块
Posted
技术标签:
【中文标题】Anki python脚本:缺少多个模块【英文标题】:Anki python scripting: Multiple modules missing 【发布时间】:2018-12-29 21:56:07 【问题描述】:我正在尝试按照https://www.juliensobczak.com/tell/2016/12/26/anki-scripting.html 的教程进行操作
我正在设置“listcards.py”基本脚本,克隆 anki 并安装虚拟环境以及 anki/requirements.txt 文件中的要求。
但是,当我从名为“listcards.py”的教程中运行脚本时,我收到一个通知,即找不到模块“anki.sched”。 ("ModuleNotFoundError: No module named 'anki.sched')
虽然我可以 pip 安装每个包,但我觉得这些包丢失一定有一个根本原因 - 有没有办法让 python 自动拉入命名模块,即使它没有预先安装以 node.js 如何自动安装引用的依赖项的方式,这样我就不必手动安装每个丢失的包?
【问题讨论】:
我知道这已经有一段时间了,但你有没有解决这个问题?我也有类似的问题 【参考方案1】:我遇到了同样的问题。 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
模块。
【讨论】:
【参考方案2】:我所做的,我知道这可能不是正确的方法,就是简单地清除根 anki 文件夹并将所有应用程序脚本复制到其中,然后导入工作。
【讨论】:
以上是关于Anki python脚本:缺少多个模块的主要内容,如果未能解决你的问题,请参考以下文章
用java调用python脚本,单独的python脚本可以运行,但是在java里面调用的时候告知缺少模块。怎么破?