Installing via pip: ERROR: Could not find a version that satisfies the requirement anki==23.10

Hello, I am trying to install Anki in Termux using pip from the instructions at https://betas.ankiweb.net/. I’ve slightly modified them for my purposes for reasons which I’m hoping are unrelated to my issue:

  1. Termux currently has Python 3.11.6 in its repos instead of 3.9
  2. I want to install the stable version of Anki, rather than a beta so I’ve removed the --pre flag
  3. I had to specify aqt==23.10 because without it, pip will “successfully” install aqt-2.1.25 which is a release occured prior to the ARM64 packaged builds (these started at 2.1.50 I believe).

Everything goes smoothly until the final step:

pyenv/bin/pip  install --upgrade  aqt==23.10                                                 Collecting aqt==23.10                                                                              Using cached aqt-23.10-py3-none-any.whl.metadata (748 bytes)                                   Requirement already satisfied: beautifulsoup4 in ./pyenv/lib/python3.11/site-packages (from aqt==23.10) (4.12.2)                                                                                  Collecting flask (from aqt==23.10)                                                                 Using cached flask-3.0.0-py3-none-any.whl.metadata (3.6 kB)                                    Collecting flask_cors (from aqt==23.10)                                                            Using cached Flask_Cors-4.0.0-py2.py3-none-any.whl.metadata (5.4 kB)                           Requirement already satisfied: jsonschema in ./pyenv/lib/python3.11/site-packages (from aqt==23.10) (4.19.2)                                                                                      Requirement already satisfied: requests in ./pyenv/lib/python3.11/site-packages (from aqt==23.10) (2.31.0)                                                                                        Requirement already satisfied: send2trash in ./pyenv/lib/python3.11/site-packages (from aqt==23.10) (1.8.2)                                                                                       Collecting waitress>=2.0.0 (from aqt==23.10)                                                       Using cached waitress-2.1.2-py3-none-any.whl (57 kB)                                           INFO: pip is looking at multiple versions of aqt to determine which version is compatible with other requirements. This could take a while.                                                       ERROR: Could not find a version that satisfies the requirement anki==23.10 (from aqt) (from versions: 2.1.24+359b9f5c, 2.1.25, 2.1.26, 2.1.28, 2.1.29, 2.1.30, 2.1.31, 2.1.32, 2.1.33, 2.1.34, 2.1.35)                                                                                             ERROR: No matching distribution found for anki==23.10

I’d greatly appreciate any help.

Weird, I’m on aarch64 and I just ran pip install --upgrade aqt a few minutes ago to successfully install version 23.10.1.

Collecting aqt
  Downloading aqt-23.10.1-py3-none-any.whl.metadata (752 bytes)
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3.12/site-packages (from aqt) (4.12.2)
Requirement already satisfied: flask in ./.local/lib/python3.12/site-packages (from aqt) (3.0.0)
Requirement already satisfied: flask_cors in ./.local/lib/python3.12/site-packages (from aqt) (4.0.0)
Requirement already satisfied: jsonschema in ./.local/lib/python3.12/site-packages (from aqt) (4.19.2)
Requirement already satisfied: requests in /usr/lib/python3.12/site-packages (from aqt) (2.28.2)
Requirement already satisfied: send2trash in ./.local/lib/python3.12/site-packages (from aqt) (1.8.2)
Requirement already satisfied: waitress>=2.0.0 in ./.local/lib/python3.12/site-packages (from aqt) (2.1.2)
Collecting anki==23.10.1 (from aqt)
  Downloading anki-23.10.1-cp39-abi3-manylinux_2_31_aarch64.whl.metadata (508 bytes)
Requirement already satisfied: decorator in ./.local/lib/python3.12/site-packages (from anki==23.10.1->aqt) (5.1.1)
Requirement already satisfied: markdown in ./.local/lib/python3.12/site-packages (from anki==23.10.1->aqt) (3.5.1)
Requirement already satisfied: orjson in ./.local/lib/python3.12/site-packages (from anki==23.10.1->aqt) (3.9.10)
Requirement already satisfied: protobuf>=4.21 in ./.local/lib/python3.12/site-packages (from anki==23.10.1->aqt) (4.25.0)
Requirement already satisfied: distro in /usr/lib/python3.12/site-packages (from anki==23.10.1->aqt) (1.8.0)
Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3.12/site-packages (from beautifulsoup4->aqt) (2.5)
Requirement already satisfied: Werkzeug>=3.0.0 in ./.local/lib/python3.12/site-packages (from flask->aqt) (3.0.1)
Requirement already satisfied: Jinja2>=3.1.2 in ./.local/lib/python3.12/site-packages (from flask->aqt) (3.1.2)
Requirement already satisfied: itsdangerous>=2.1.2 in ./.local/lib/python3.12/site-packages (from flask->aqt) (2.1.2)
Requirement already satisfied: click>=8.1.3 in /usr/lib/python3.12/site-packages (from flask->aqt) (8.1.3)
Requirement already satisfied: blinker>=1.6.2 in ./.local/lib/python3.12/site-packages (from flask->aqt) (1.7.0)
Requirement already satisfied: attrs>=22.2.0 in ./.local/lib/python3.12/site-packages (from jsonschema->aqt) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in ./.local/lib/python3.12/site-packages (from jsonschema->aqt) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in ./.local/lib/python3.12/site-packages (from jsonschema->aqt) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in ./.local/lib/python3.12/site-packages (from jsonschema->aqt) (0.12.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/lib/python3.12/site-packages (from requests->aqt) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.12/site-packages (from requests->aqt) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.12/site-packages (from requests->aqt) (1.26.18)
Requirement already satisfied: MarkupSafe>=2.0 in ./.local/lib/python3.12/site-packages (from Jinja2>=3.1.2->flask->aqt) (2.1.3)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/lib/python3.12/site-packages (from requests[socks]->anki==23.10.1->aqt) (1.7.1)
Downloading aqt-23.10.1-py3-none-any.whl (7.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.7/7.7 MB 7.5 MB/s eta 0:00:00
Downloading anki-23.10.1-cp39-abi3-manylinux_2_31_aarch64.whl (11.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.8/11.8 MB 5.7 MB/s eta 0:00:00
Installing collected packages: anki, aqt
Successfully installed anki-23.10.1 aqt-23.10.1

That is with Python 3.12.0 and pip 23.3.1. Did you try any other versions?

The wheels require glibc. Assuming you are on aarch64, your system probably either has an old glibc, or is using something else like musl.