Anki安装(或更新)失败--Windows下解决uv包管理器问题导致的安装失败+修改牌组储存位置
最近安装Anki的时候遇到了安装失败的问题,卸载重装在C盘、换成装25.02以后的其它版本都不管用。刚好在Ankiforum里找到了一位macOS用户相同问题的经验贴,关键点就是手动下载安装uv工具并配置好。
因为Anki Launcher 目前更新安装时会安装Python依赖包,使用uv来进行包管理。uv如果无法正确安装(我是因为把安装路径从默认的C盘改到了D盘),Anki就不能正常启动。
附上经验贴和过程中涉及到的相关操作的帖子,不能一一对应的可以自己再详细看一下,纯代码报错问题可以问下AI。
macOS同问题经验贴:Cannot launch latest version with MacOS (China) - Anki / Help - Anki Forums
Windows下Python包管理器安装&下载:Windows 下超快 Python 包管理器 `uv` 安装教程 - HaimaBlog - 博客园
安装完毕运行Anki后弹出的错误代码如下(macOS版,windows版可能只在uv那里会写成uv.exe): 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
解决步骤
第一步:用powershell安装uv工具(Windows版本)
Windows下Python包管理器安装&下载参考教程:Windows 下超快 Python 包管理器 `uv` 安装教程 - HaimaBlog - 博客园
打开PowerShell
在开始菜单搜索"PowerShell"右键选择"以管理员身份运行"(推荐) 执行安装命令
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
(上面命令回车后就会开始下载uv文件,光标会闪,没有弹出来PS C:\Windows\system32>的前缀就是还在下载,不要着急回车,下载需要时间)
(等一段时间下载好后,会自动安装,Installing to C:\…就是在自动安装)
添加环境变量
上面命令结束后,选择用power shell修改环境变量。复制命令里带(power shell)的那一句输入
误关了powershell的可以复制下面这一句,是一样的
$env:Path = "C:\Users\Administrator\.local\bin;$env:Path"
验证安装成功
上面环境变量命令运行完毕后,命令行输入uv --version
显示版本号就表示uv安装成功,可以进行下一步了
第二步:使用uv运行Anki相关报错文件
使用刚安装的uv工具来运行之前失败的文件。
每个人路径不同,需要复制的部分在下图圈出来了。
Windows完整复制红框里的路径,运行后报错的可以尝试把uv.exe改成uv,或者反过来
第三步:重新打开Anki
按回车会开始更新最新版Anki,下载时间比较久,会有进度条,等下载完Anki就可以自己打开了。
顺便把Anki牌组的储存位置从C盘改到其它盘
Anki牌组的默认储存位置也是在C盘,刚好安装完还没导入牌组,直接把储存位置修改到其它盘,避免用了一段时间之后搬牌组的麻烦。
这里统一附上参考资料,使用过一段时间再搬牌组可以参考:
Anki官方帮助手册:管理文件 - Anki 手册
修改牌组储存位置经验贴:降低Anki对C盘空间占用的四种方法_如何找到anki文件位置,并显示存储地址-CSDN博客
官方帮助手册里的修改方式,有修改环境变量和修改快捷方式参数两个方法。修改快捷方式需要每次启动都是通过快捷方式,不然又会在C盘储存修改的牌组;修改环境变量要更方便点。这里只用了新建环境变量的方法(一劳永逸)。
第一步:新建环境变量
Win + R → 输入 sysdm.cpl → 回车。
在弹出的窗口中,切换到 高级 → 点击 环境变量。
在 “用户变量” 或 “系统变量” 区域里点击 新建:
变量名:ANKI_BASE变量值:D:/AnkiData (需要先在D盘创建好这个文件夹,放哪里文件夹名称随意,最好保证整个路径里全是英文就行)
确认 → 关闭所有窗口。
下次启动 Anki 时,它会自动使用 D 盘的这个文件夹作为保存位置。
第二步:确认修改成果
方法一:直接看文件夹
确认你已经设置了 ANKI_BASE 并重启了 Anki。打开 D:\AnkiData\Anki2(你设定的新目录)。如果你能看到 collection.anki2、addons21、backups、prefs21.db 等文件夹和文件,说明 Anki 已经在用这个目录。
尤其是 collection.anki2,它就是牌组数据库文件。
方法二:改动验证
启动 Anki,在里面随便新建一个测试牌组或添加一张新卡片。然后去 D:\AnkiData\Anki2 文件夹里看看 collection.anki2 的修改时间是不是刚刚更新。
如果更新了,就说明 Anki 正在用新目录。
此方法仅适用于安装失败代码显示是uv问题的情况,其它安装失败情况应该不适用。可以在Ankiforum里搜索看是否有相同问题。