Cannot launch latest version with MacOS (China)

I will try to provide as much detail as possible.

I am running Tahoe Beta 26.0 on Apple Silicon. I have observed in the forums that users on Sequoia are also having this issue, so I believe a solution targeting Sequoia will also help me. I am located in China. This is relevant, because it means I have issues accessing GitHub, and I am on a VPN, as that’s the only practical solution to so many useful tools being blocked here. I am not on Astrill.

This is a new install on the machine. I have not previously used Anki on it.

When I download and launch Anki launcher, the launcher fails to check for Anki versions. This is true whether or not my VPN is enabled. It fails after an excessively long amount of time (about five minutes or so), which makes testing various settings really unpleasant.

The following output is produced in my terminal (zsh):

Anki Launcher
Checking for updates…Unable to check for Anki versions. Please check your internet connection.
Error: Failed to run (2): /Applications/Anki.app/Contents/MacOS/uv run --no-project --no-config --managed-python --with pip-system-certs --python 3.13.5 /Applications/Anki.app/Contents/Resources/versions.py: Downloading cpython-3.13.5-macos-aarch64-none (download) (14.9MiB)
error: Failed to extract archive: cpython-3.13.5-20250612-aarch64-apple-darwin-install_only_stripped.tar.gz
Caused by: failed to unpack /Users/ray/.local/share/uv/python/.temp/.tmp86v2Q6/python/lib/python3.13/ensurepip/_bundled/pip-25.1.1-py3-none-any.whl
Caused by: failed to unpack python/lib/python3.13/ensurepip/_bundled/pip-25.1.1-py3-none-any.whl into /Users/ray/.local/share/uv/python/.temp/.tmp86v2Q6/python/lib/python3.13/ensurepip/_bundled/pip-25.1.1-py3-none-any.whl
Caused by: error decoding response body
Caused by: request or response body error
Caused by: error reading a body from connection
Caused by: stream error received: unspecific protocol error detected
Press enter to close…

I have tried exercises based on what others have suggested. In this post on the forums (internet-connection/64615/4), dae asks if the user can access pypi org pypi aqt json - and indeed, I can, with or without the VPN.

User DyingBob provided a workaround for Windows that according to some no longer works (anki-anki-launcher-uv/64485). The crux was to point uv to a mirror. I replicated the solution in MacOS in ~/Library/Application Support/AnkiProgramFiles by adding a file called uv.toml with the following lines:

python-install-mirror = “``https://registry.npmmirror.com/-/binary/python-build-standalone/”
[[index]]
url = “``https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/”
default = true

This has no effect.

In a thread launched by wgm096350 (cant-install-the-latest-version-of-anki-on-macos/65115), dae suggests deleting the ~/Library/Application Support/AnkiProgramFiles folder entirely and trying again. About five minutes later, Anki Launcher fails again.

I also have a VPN network that I can access via my router that bypasses my need to have my VPN running as a process locally. I receive a similar failure. I also disabled the VPN from starting on launch and then attempted the Launcher on both the VPN-enabled network and the normal (Chinese internet) network. Doing this fails as well.

I have tried the latest beta version of Anki, 25.08b4. There is no difference between this and the latest stable version. The launcher never succeeds at checking for updates. I installed the version before the Launcher - 25.02.7. Happily, this works for me, but this is not a long-term fix.

I am not the best Anki user; I am not the best student. I believe in Anki deeply, though, and have used it for over a decade. I supported the project by buying a license on iOS twice. I love Anki. I really don’t love this experience with the Launcher.

3 Likes

I was able to completely resolve the issue. The solution was unexpected, but I am sharing it here in case it helps someone else.

The issue according to the log is the inability to copy the version of Python required into /Applications/Anki.app/Contents/Resources/versions.py

I decided to install uv globally through homebrew. I already had homebrew, but it can be installed by typing the following into terminal.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

I installed uv:

brew install uv

This was successful. Then, I launched the problematic command:

uv run --no-project --no-config --managed-python --with pip-system-certs --python 3.13.5 /Applications/Anki.app/Contents/Resources/versions.py

This was successful. Terminal output looked like this, for reference:

ray@Mac ~ % uv run --no-project --no-config --managed-python --with pip-system-certs --python 3.13.5 /Applications/Anki.app/Contents/Resources/versions.py
Installed 2 packages in 11ms
["2.1.24", "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", "2.1.36", "2.1.37rc1", "2.1.37", "2.1.38b1", "2.1.38b2", "2.1.38b3", "2.1.38b4", "2.1.38", "2.1.39b1", "2.1.39b2", "2.1.39", "2.1.40", "2.1.41b1", "2.1.41b2", "2.1.41b3", "2.1.41b4", "2.1.41b5", "2.1.41b6", "2.1.41b7", "2.1.41", "2.1.42", "2.1.43b1", "2.1.43", "2.1.44b1", "2.1.44", "2.1.45a1", "2.1.45a2", "2.1.45a3", "2.1.45a4", "2.1.45b1", "2.1.45b2", "2.1.45b3", "2.1.45b4", "2.1.45b5", "2.1.45b6", "2.1.45rc1", "2.1.45rc2", "2.1.45", "2.1.46rc1", "2.1.46", "2.1.47rc1", "2.1.47rc2", "2.1.47", "2.1.48rc1", "2.1.48rc2", "2.1.48", "2.1.49", "2.1.50b1", "2.1.50b2", "2.1.50b3", "2.1.50b4", "2.1.50b5", "2.1.50b6", "2.1.50b7", "2.1.50b8", "2.1.50b9", "2.1.50rc1", "2.1.50rc2", "2.1.50rc3", "2.1.50rc4", "2.1.50", "2.1.51rc1", "2.1.51rc2", "2.1.51", "2.1.52rc1", "2.1.52rc2", "2.1.52rc3", "2.1.52", "2.1.53rc1", "2.1.53rc2", "2.1.53", "2.1.54rc1", "2.1.54rc2", "2.1.54rc3", "2.1.54", "2.1.55b1", "2.1.55b2", "2.1.55b3", "2.1.55b4", "2.1.55b6", "2.1.55b7", "2.1.55rc1", "2.1.55rc2", "2.1.55", "2.1.56rc1", "2.1.56", "2.1.57b1", "2.1.57rc1", "2.1.57", "2.1.58", "2.1.59", "2.1.60", "2.1.61b1", "2.1.61b2", "2.1.61", "2.1.62b1", "2.1.62rc1", "2.1.62", "2.1.63", "2.1.64", "2.1.65", "2.1.66b1", "2.1.66rc1", "2.1.66", "23.10b1", "23.10b2", "23.10b3", "23.10b4", "23.10b5", "23.10b6", "23.10rc1", "23.10rc2", "23.10rc3", "23.10", "23.10.1rc1", "23.10.1rc2", "23.10.1", "23.12b1", "23.12b2", "23.12b3", "23.12rc1", "23.12", "23.12.1", "24.4rc1", "24.4rc2", "24.4", "24.4.1", "24.6", "24.6.1", "24.6.2", "24.6.3", "24.10b1", "24.10b2", "24.10b3", "24.10b4", "24.10rc1", "24.10rc2", "24.11rc1", "24.11rc2", "24.11", "25.1b1", "25.1rc1", "25.2rc1", "25.2", "25.2.1", "25.2.2", "25.2.3", "25.2.4", "25.5b1", "25.5b2", "25.2.5", "25.2.6", "25.2.7", "25.6b1", "25.6b2", "25.6b3", "25.6b4", "25.6b5", "25.6b6", "25.6b7", "25.7", "25.7.1", "25.7.2", "25.8b1", "25.8b2", "25.7.3rc1", "25.7.3", "25.7.4", "25.7.5", "25.8b3", "25.8b4"]

Great! Next step was to run the launcher. I directly did this from Terminal:

/Applications/Anki.app/Contents/MacOS/launcher

Success! Output looked like this, after which Anki launched.

Anki Launcher

Checking for updates...
Updating Anki...

Using CPython 3.13.5
Creating virtual environment at: .venv
Resolved 49 packages in 4.57s
Prepared 40 packages in 1m 58s
Installed 40 packages in 85ms
 + anki==25.7.5
 + anki-audio==0.1.0
 + anki-mac-helper==0.1.0
 + anki-release==25.7.5
 + aqt==25.7.5
 + attrs==25.3.0
 + beautifulsoup4==4.13.4
 + blinker==1.9.0
 + certifi==2025.6.15
 + charset-normalizer==3.4.2
 + click==8.2.1
 + decorator==5.2.1
 + flask==3.1.1
 + flask-cors==6.0.1
 + idna==3.10
 + itsdangerous==2.2.0
 + jinja2==3.1.6
 + jsonschema==4.24.0
 + jsonschema-specifications==2025.4.1
 + markdown==3.8.2
 + markupsafe==3.0.2
 + orjson==3.10.18
 + pip==25.1.1
 + pip-system-certs==5.2
 + protobuf==6.31.1
 + pyqt6==6.9.1
 + pyqt6-qt6==6.9.1
 + pyqt6-sip==13.10.2
 + pyqt6-webengine==6.8.0
 + pyqt6-webengine-qt6==6.8.2
 + pysocks==1.7.1
 + referencing==0.36.2
 + requests==2.32.4
 + rpds-py==0.25.1
 + send2trash==1.8.3
 + soupsieve==2.7
 + typing-extensions==4.14.0
 + urllib3==2.5.0
 + waitress==3.0.2
 + werkzeug==3.1.3

This may take a few minutes. Please wait....................................................

Anki will start shortly.
You can close this window.

Back on Anki! I hope this helps someone.

1 Like

Glad you were able to resolve the issue! For the benefit of other onlookers, I’m not sure installing uv/running versions.py actually solved this - it may have been that you just got lucky with the internet connection when running again after that. The slow download speeds in China should be addressed in the future via Provide a simpler way for users to enable a pypi mirror? · Issue #4226 · ankitects/anki · GitHub

1 Like

Thanks a lot for the reply. I am not 100% sure whether it was installing uv system-wide which actually solved this, either. In my logs, there was a failed attempt to run the same call to copy python via the version of uv that I installed myself due to IO error (machine went to sleep). Before that happened though, it was actually (slowly) downloading the required version of Python with visible progress via a progress bar. I ran the Anki Launcher just before that, which failed after 14 minutes. My connection didn’t visibly improve until the next morning. I don’t dare try to replicate this problem to test!

1 Like

Hi, I’m wondering that what is the uv system? I’m from China as well. Cannot remember what’s the last version on my computer… Almost know nothing about computer system / code. TAT

A post was merged into an existing topic: Cannot open Anki app after update (SIGKILL)