我正在为SRS (2.1x)编写我自己的add。
我的脚本在Anki之外工作,但是我想从Anki的工具栏上运行它来处理Anki调用的卡片。
我不断地收到错误,说我正在导入的模块(如游戏)丢失了。
我已经做了吉冈博卡-塔西乌克建议的这里
并包括带有模块文件的文件夹和用于扫描文件夹的init.py文件。例如,我的文件夹'pygame‘与代表addon脚本的文件夹中的文件夹相同。两者都有init.py文件。
但是,它似乎总是找到一些没有导入的模块。例如,现在它找不到内置的Python包“数组”。
我还试图用我的副词中的行来破解这个问题,例如:
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')当然,我不需要包含每个子文件使用的所有可能的模块。
我做错了什么?
非常感激的帮助。
发布于 2018-10-19 14:46:30
根据文献资料
标准模块 Anki只附带运行程序所需的标准模块--不包括Python的完整副本。因此,如果您需要使用Anki中没有包含的标准模块,则需要将其与您的插件捆绑在一起。
现在,如何捆绑附加组件呢?文献资料说:
共享附加组件 对于一个简单的单文件插件,您可以上传.py文件.对于多文件附加组件,请创建一个充当Python包的子文件夹,并创建一个导入该包的小型.py文件。使用日语支持插件作为示例,该结构如下所示: 日语/file1.py日语/file2.py日语/__init__..py#可以是空的;将文件夹标记为日语/ jp.py包 要上传多文件插件,请将文件夹和加载器.py文件压缩并上传。
因此,您应该将所需的模块放在一个支持文件夹中,并从那里导入它们。类似于:
myaddon/pygame.zip
myaddon/__init__.py
ma.pyma.py可以是一种配置和加载myaddon文件,__init__.py (myaddon专用)可以是from . import pygame.
发布于 2018-10-24 07:13:54
分享从BeautifulSoup导入bs4的经验。希望能帮助你。
下载beautifulsoup4源代码,解压缩代码并将"bs4“文件夹复制到Anki外接程序文件夹C:\Users\Admin\AppData\Roaming\Anki2\addons\。那就重启Anki。我的akPlugin.py脚本可以从bs4中找到BeautifulSoup。
λ 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/https://stackoverflow.com/questions/51470023
复制相似问题