卡在“setting up the package cache”是真实阻塞而非假死,因conda正本地构建包缓存索引,涉及大量文件扫描与哈希计算;常见真凶是火绒、windows defender的受控文件夹访问或实时保护拦截注册表写入,关闭相关防护后可恢复。

卡在“Setting up the package cache”是真实阻塞,不是假死
这不是界面没响应,而是 conda 正在本地构建包缓存索引,涉及大量文件扫描和哈希计算。尤其当安装路径含中文、空格、长路径(如 C:\Users\用户名\Documents\...),或磁盘为机械硬盘/低速 SSD 时,这个阶段可能持续 10–30 分钟甚至更久,任务管理器里 conda.exe 或 python.exe 进程 CPU 占用常接近 0%,但磁盘活动灯狂闪——这是它在干活,不是卡死。
杀毒软件和 Windows 安全策略会直接拦截注册表写入
Win10/Win11 上最常见真凶是火绒、360、Windows Defender 的“受控文件夹访问”(CFA)或“实时保护”。它们会静默拦截 Anaconda 安装程序对 HKEY_LOCAL_MACHINE\SOFTWARE\Python\ 等路径的写入,导致进度条停在最后一步,日志里出现 Error: Failed to write to registry。
- 临时关闭 Windows 安全中心 → “病毒和威胁防护” → “管理设置” → 关掉“实时保护”和“受控文件夹访问”
- 火绒用户:右键托盘图标 → “防护规则” → 暂时禁用“勒索病毒防护”和“系统防护”
- 验证是否生效:以管理员身份运行 PowerShell,执行
whoami /groups | findstr "Mandatory Label",输出含S-1-16-8192才算真正提权成功
环境变量未就绪 + 已有 Python 干扰注册逻辑
如果你本机已装过 Python(比如 python --version 返回 3.8),而安装时又勾选了 Register Anaconda3 as the system Python,conda 会尝试覆盖系统级 Python 注册信息。但若原 Python 占着注册表键、或 PATH 里已有其他 Python 路径靠前,Anaconda 安装程序可能反复尝试失败后挂起。
- 安装前先在 CMD 运行
where python和reg query "HKLM\SOFTWARE\Python\PythonCore" /s,确认无残留 - 安装时**不要勾选**
Register Anaconda3 as the system Python(尤其你已有 Python) - 改选
Just Me安装模式,路径避免空格和中文,例如D:\anaconda3
换 Miniconda 是最快落地的绕过方案
如果你只是需要 conda 管环境、跑 Jupyter、配 PyCharm 解释器,根本不需要 Anaconda 预装的 300+ 包。“Setting up the package cache” 卡住的本质,是它在解压并索引那 500MB+ 的预编译包集合。Miniconda 安装包仅 70MB,不带任何第三方库,安装耗时通常在 30 秒内,且完全复用同一套 conda 命令和环境机制。
- 从官网下载
Miniconda3-latest-Windows-x86_64.exe,同样以管理员身份运行 - 安装完立即执行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/和conda config --set show_channel_urls yes - 按需装包:
conda install jupyter pandas numpy scikit-learn,比等 Anaconda 完整安装快得多
真正容易被忽略的是:卡住时别反复重试,先看磁盘灯、查杀软、关 CFA;很多所谓“重装系统”“换电脑”的操作,其实只是恰好关掉了某个没意识到的防护组件。











