首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anki (SRS软件)插件包/模块

Anki (SRS软件)插件包/模块
EN

Stack Overflow用户
提问于 2018-07-22 23:22:56
回答 2查看 582关注 0票数 1

我正在为SRS (2.1x)编写我自己的add。

我的脚本在Anki之外工作,但是我想从Anki的工具栏上运行它来处理Anki调用的卡片。

我不断地收到错误,说我正在导入的模块(如游戏)丢失了。

我已经做了吉冈博卡-塔西乌克建议的这里

并包括带有模块文件的文件夹和用于扫描文件夹的init.py文件。例如,我的文件夹'pygame‘与代表addon脚本的文件夹中的文件夹相同。两者都有init.py文件。

但是,它似乎总是找到一些没有导入的模块。例如,现在它找不到内置的Python包“数组”。

我还试图用我的副词中的行来破解这个问题,例如:

代码语言:javascript
复制
sys.path.append('/Users/user/AnacondaProjects/Anki/')
sys.path.append('/Users/user/Library/Application%20Support/Anki2/addons21/playback/')
sys.path.append('/Users/user/Library/Application%20Support/Anki2/addons21/playback/pygame')
sys.path.append('/anaconda3/lib/python3.6/site-packages')

当然,我不需要包含每个子文件使用的所有可能的模块。

我做错了什么?

非常感激的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-10-19 14:46:30

根据文献资料

标准模块 Anki只附带运行程序所需的标准模块--不包括Python的完整副本。因此,如果您需要使用Anki中没有包含的标准模块,则需要将其与您的插件捆绑在一起。

现在,如何捆绑附加组件呢?文献资料说:

共享附加组件 对于一个简单的单文件插件,您可以上传.py文件.对于多文件附加组件,请创建一个充当Python包的子文件夹,并创建一个导入该包的小型.py文件。使用日语支持插件作为示例,该结构如下所示: 日语/file1.py日语/file2.py日语/__init__..py#可以是空的;将文件夹标记为日语/ jp.py包 要上传多文件插件,请将文件夹和加载器.py文件压缩并上传。

因此,您应该将所需的模块放在一个支持文件夹中,并从那里导入它们。类似于:

代码语言:javascript
复制
myaddon/pygame.zip
myaddon/__init__.py
ma.py

ma.py可以是一种配置和加载myaddon文件,__init__.py (myaddon专用)可以是from . import pygame.

票数 0
EN

Stack Overflow用户

发布于 2018-10-24 07:13:54

分享从BeautifulSoup导入bs4的经验。希望能帮助你。

下载beautifulsoup4源代码,解压缩代码并将"bs4“文件夹复制到Anki外接程序文件夹C:\Users\Admin\AppData\Roaming\Anki2\addons\。那就重启Anki。我的akPlugin.py脚本可以从bs4中找到BeautifulSoup。

代码语言:javascript
复制
λ ls -al addons
total 56
drwxr-xr-x 1 Admin 197121     0 Aug 30 09:12 ./
drwxr-xr-x 1 Admin 197121     0 Oct 22 18:28 ../
-rw-r--r-- 1 Admin 197121 37794 Jul 18 10:11 akPlugin.py
drwxr-xr-x 1 Admin 197121     0 Sep 29  2015 bs4/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51470023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档