Anki
Anki is a multi-platform memory training program written in Python that uses the science of spaced repetition to expedite the learning process and enhance recall. Anki is available on Microsoft Windows, macOS, Linux, FreeBSD; Android and iOS.
Installation
Installation Using Emerge
USE flags
USE flags for app-misc/anki A spaced-repetition memory training program (flash cards)
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
To install:
root #
emerge --ask app-misc/anki
To uninstall:
root #
emerge --ask --depclean --verbose app-misc/anki
Environment variables
- ANKIDEV If set, additional logging messages will be printed to standard output and automatic backups will be disabled.
- TRACESQL If set, SQL statements will be printed at execution time.
- LOGTERM If set, messages bound for collection2.log will also be printed to standard output.
- ANKI_PROFILE_CODE If set, Python profiling data will be sent to standard output upon exit.
Files
- $XDG_DATA_HOME/Anki2 - the local per-user configuration file from Anki 2.0 onward.
- ~/Anki - The local per-user configuration file for Anki 1.x.
Installation Using Flatpak
user $
flatpak install flathub net.ankiweb.Anki
user $
flatpak run net.ankiweb.Anki
Config Files
The config files (and plugins, database, etc) will reside in:
- ~/.var/app/net.ankiweb.Anki/
Installation Using Python Wheel
Anki's beta version can be installed on both x86_64 and ARM systems using pip rather easily. Please advise Anki's documentation to do this.
Usage
Invocation
user $
anki --help
usage: anki [OPTIONS] [file to import] Anki 2.1.15 optional arguments: -h, --help show this help message and exit -b BASE, --base BASE path to base folder -p PROFILE, --profile PROFILE profile name to load -l LANG, --lang LANG interface language (en, de, etc)
Troubleshooting
Using Anki is straightforward but emerging Anki occasionally runs into issues.
Attempting to emerge Anki fails due to lack of available RAM
Anki has dev-python/PyQtWebEngine as a dependency, which requires ≥48GB of available RAM in order to compile. This figure can be satisfied with a swap partition if needed, not just physical RAM. If emerge fails to build app-misc/anki ensure that you have either enough physical RAM or a large enough swap partition to continue.
Anki Takes Many Hours to Build
In addition to its eye watering RAM requirements dev-python/PyQtWebEngine can take a long time to build. On a high core count system this dependency can be built in a reasonable amount of time, perhaps taking a few hours. On a budget quad core, building Anki can take the better part of a day.
Some Anki users with low spec systems have taken to emerging app-misc/anki once and then version pinning it and only upgrading it sporadically. Obviously, this is not an ideal solution due to the security considerations inherent in such a decision.