anki的使用以及anki server的配置
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/anki_and_anki_server
首先吐槽,anki作为老牌软件,国内资料并不多。
虽然html的卡片显示和python的插件式开发上看比较适合程序员,但从各种配置上感觉程序员用户量并不大。
因此,想深度使用准备折腾。
简单使用
- 淘制作好的卡片,导入
- 卡片可以套模板更美观(添加时的Cards选项,支持html)
- 插件里的
awesome TTS很多人推荐但速度略慢 - 添加单词可以用
Word Query
官方文档https://apps.ankiweb.net/docs/manual.html
插件编写文档https://apps.ankiweb.net/docs/addons.html
一些坑
删除卡片不会删除对应的媒体文件,需要点击 check media 后手动删除。
anki server 的安装
官网的速度爆表,而且有数据安全问题,因此官网给出了自建anki server的解决方案。
百度上的大多使用 https://github.com/dsnopek/anki-sync-server ,可以基于pip2和python2直接安装,个人在基于Arch的linux下感觉坑多,在linux上的anki 2.1.9连不上上面python2的服务器(bug解决一个又出一个),更建议使用基于python3的fork项目:https://github.com/tsudoko/anki-sync-server 。
基于python3的仓库
github上的readme已经写得比较清楚,下面的搬运点大概。
1、clone 仓库
git clone https://github.com/tsudoko/anki-sync-server.git
2、安装anki或anki-bundled相关的库
直接使用包管理器安装 sudo pacman -S anki
如果包管理器里没有anki(如debian),也可以用pip安装anki-bundled相关的库
$ git submodule update --init # anki-bundled已经加入为submodule,可以先更新
$ cd anki-bundled
$ pip install -r requirements.txt # 安装相关的库
3、安装webob
pip install webob
4、修改 ankisyncd.conf 文件
文件中保存了主要的配置,主要改端口,默认端口一般也就能用。
5、创建用户
./ankisyncctl.py adduser <username>
6、启动服务器
python -m ankisyncd
客户端配置
android anki 在高级设置里填上ip和端口就行。
anki桌面版2.1.x 修改了添加插件方式。在插件文件夹下新建一个新的文件夹(官方插件命名都是数字方便更新,用字母也行),然后在其下新建一个文件__init__.py,加入以下内容。
import anki.sync, anki.hooks, aqt
addr = "http://127.0.0.1:27701/" # put your server address here
anki.sync.SYNC_BASE = "%s" + addr
def resetHostNum():
aqt.mw.pm.profile['hostNum'] = None
anki.hooks.addHook("profileLoaded", resetHostNum)
anki桌面版2.0 直接在插件文件夹下新建一个.py文件(如ankisyncd.py),加入以下内容。
import anki.sync
addr = "http://127.0.0.1:27701/" # put your server address here
anki.sync.SYNC_BASE = addr
anki.sync.SYNC_MEDIA_BASE = addr + "msync/"
基于python2的server
百度上搜到的差不多都是这种,可能出各种bug,不怎么建议折腾,列一下大概的折腾步骤和踩坑。
简直就是个没人测试的系统!各种莫名奇妙的bug需要调。
好不容易装好了,局域网下卡片数量较多时(4000)速度也不怎么样….
debian 系统安装稍正常
easy_install ankiserver # 为什么不用pip? 因为会有莫名奇妙的错误!!
mkdir ankiserver_data # anki server的数据目录
cd ankiserver_data
cp /usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples/example.ini ./production.ini # 复制配置文件,如有必要可以改改端口一类的
ankiserverctl adduser test # 添加用户
ankiserverctl debug # debug模式启动 (为什么是debug,你猜一次成功的概率?)
如果此时显示了正常启动然后手机能连上就算幸运了。
踩过的坑:
- 虽然python3的ankiserver在pip仓库里有,但还是不试为好。
- 要用
easy_install代替pip(小心找不到文件一个个改路径) - 装server的系统上最好不要装anki客户端(anki使用的python3莫名奇妙会被python2的server调用….估计是anki在/usr/share文件夹下,/usr/share又是PATH的目录,如果非要装就把/usr/share/anki改个名字吧,虚拟环境都上了还是跳到anki客户端的python3代码上报错)
- andriod手机登录时显示服务器和手机时间差了5s,可能折腾一下ntp就行吧
- 系统编码需要设置成utf-8(默认用英语没碰到这问题)
安卓手机使用正常,但是anki 2.1.9 linux桌面版连不上。
anki的使用以及anki server的配置的更多相关文章
- VisualSVN Server的配置和使用方法(转)
1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Serve ...
- VisualSVN Server的配置和使用方法 图文
转载 http://www.jb51.net/article/17365.htm VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visu ...
- SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...
- [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
- 部署Office Web Apps Server并配置其与SharePoint 2013的集成
部署Office Web Apps Server并配置其与SharePoint 2013的集成 Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...
- Ubuntu Server如何配置SFTP
SH File Transfer Protocol是一个比普通FTP更为安全的文件传输协议.(参考资料:http://en.wikipedia.org/wiki/SSH_File_Transfer_P ...
- [转]ubuntu server上网配置
[转]ubuntu server上网配置 http://blog.sina.com.cn/s/blog_6c9d65a101011pyt.html 今天我的ubuntu server上不去网了,所以重 ...
- Tomcat中server.xml配置及Context的配置说明
server.xml配置简介 下面是这个文件中的基本配置信息,更具体的配置信息见tomcat的文档 server: port 指定一个端口,这个 ...
- Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙
原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...
随机推荐
- C语言--线性表
#include<stdio.h>#include<stdlib.h>#include<string.h>#define LIST_SIZE 100#define ...
- 将整个 project 资源打包
<build> <finalName>bootstrap</finalName> <sourceDirectory>${basedir}/src/mai ...
- 2019 盛趣游戏java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.盛趣游戏等公司offer,岗位是Java后端开发,因为发展原因最终选择去了盛趣游戏,入职一年时间了,也成为了面 ...
- Grafana+prometheus+AlertManager+钉钉机器人
一.Grafana (1)安装Grafana的Linux环境 在官网下载windows的Grafana的压缩包到指定目录,解压缩Grafana压缩文件到包含当前Grafana版本的文件夹.将该文件夹解 ...
- centos7 install mysql5.7.27
1.yum 安装 wget yum install wget 2.下载MySQL 的yum repo wget https://repo.mysql.com//mysql57-community-re ...
- 基于 Express + MySQL + Redis 搭建多用户博客系统
1. 项目地址 https://github.com/caochangkui/node-express-koa2-project/tree/master/blog-express 2. 项目实现 Ex ...
- Git管理修正(取消跟踪、合并commit)
本文总结了最近使用Git时候遇到的两个问题: 1. 当将不必要跟踪的文件加入到仓库后如何处理? 2. 提交了多个功能相同的commit后如何处理? 总结经验 在创建仓库的一开始,就要设置号.gitig ...
- [LeetCode] 19. 删除链表的倒数第N个节点 ☆☆☆
描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表 ...
- [LeetCode] 647. 回文子串 ☆☆☆(最长子串、动态规划、中心扩展算法)
描述 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc" ...
- Jenkins系列之-—DevOps高效插件推荐【转】
基于Jenkins及其插件生态实现自己的持续交付与DevOps平台. jenkins 插件官网 Blue Ocean Jenkins2.7以后可安装,是Jenkins的一种新视图,能够通过图形化的界面 ...