Windows下Anaconda安装与conda命令实战指南
2026/9/21 0:06:04 网站建设 项目流程

很多刚接触 Python 的朋友,第一次听说 Anaconda 时往往一头雾水:明明装个 Python 就能写代码,为什么还要多装一个这么重的玩意?但真正上手做完一两个项目后,你就会明白,Anaconda 带来的环境隔离能力,能直接决定你在 Python 这条路上走得顺不顺。这篇文章就用我自己的实际经验,带你在 Windows 上把 Anaconda 装好,再把日常最高频的 conda 命令全部捋一遍,包括换源、建环境、装 PyTorch、接进 PyCharm 这些真正天天会用的操作。

我在各种 Windows 版本上都装过 Anaconda,Win10、Win11,从 Python 3.7 时代一路用到现在的 3.12,踩过的坑比如下载慢到怀疑人生、装完发现 conda 不是内部命令、conda activate 报错,全都遇到过。这篇文章不是官方文档的翻译,而是把每一步为什么这么做、踩坑时怎么排查都讲清楚,你可以把它当成一份照着做就能走的操作手册。

1. 为什么非要用 Anaconda:聊聊 Python 环境那些痛点

很多人觉得 Anaconda 就是个"预装了很多库的 Python",这个理解不算错,但太片面了。Anaconda 本质上是一套体系,核心是 conda 这个包管理器,再加上它附带的一堆预装库和工具。要理解它解决了什么问题,先得知道裸装 Python 有多难受。

1.1 裸装 Python 的三个大坑

第一个坑是全局环境太脆弱。用 pip 装包是直接往系统 Python 里塞,今天为了项目 A 装了 numpy 1.22,明天项目 B 需要 numpy 2.0,一升级,项目 A 可能直接跑不起来。更别提有些包依赖的底层库版本互相冲突,比如同时需要 TensorFlow 和 PyTorch,两者要求的 CUDA 相关依赖不一样,全局环境下能把人逼疯。

第二个坑是 Python 版本切换麻烦。有些老项目还在用 Python 3.6 甚至 2.7,有些新项目需要 3.11、3.12。裸装只能装一个默认版本,切换起来要么改环境变量,要么用些第三方工具,非常折腾。

第三个坑是卸载不干净。Windows 上卸载 Python 再重装,残留的路径缓存、pip 安装的包散落在各个目录,很容易让新环境"带病工作"。

1.2 conda 和 pip 到底什么关系

这是一个被问了无数遍的问题。简单说,conda 不仅能管 Python 包,还能管 Python 解释器本身,甚至能管非 Python 的底层依赖,比如 C 库、CUDA 工具包。pip 只能管 Python 包。所以 conda 是"更大的一只手",pip 是"更小的一只手"。

打个比方:conda 像一个外卖平台,不仅能送餐厅的菜(Python 包),还能把餐厅的厨师(Python 解释器)、锅具(底层依赖)一起调度;pip 更像只能在特定几家店点餐。

创建虚拟环境时,conda 会为你复制一个独立的 Python 解释器,然后在这个环境里装包,各个环境互不干扰。这正是 Anaconda 最核心的价值。

注意:装好 Anaconda 后,系统里可能同时存在 conda 和 pip。常规建议是优先用 conda 装包,conda 没有的再用 pip。混用时要小心,先激活目标环境再执行 pip install,否则容易把包装到别的环境里。

2. 安装前的四个关键决定:下载源、版本、路径与安装类型

别小看安装这一步,提前决定好下面四件事,能省掉后面一大半的麻烦。

2.1 下载源:官方源还是国内镜像

Anaconda 官方安装包大约 500MB 到 1GB 左右,放在国外服务器上。国内用户直接访问官方源,下载速度常常只有几十 KB,甚至直接失败。我见过太多人卡在下载这步就放弃了。

我的做法是直接走清华大学开源软件镜像站(mirrors.tuna.tsinghua.edu.cn),一直很稳定。下载地址结构是:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

进去后找带Windows-x86_64.exe结尾的安装包,比如Anaconda3-2024.10-1-Windows-x86_64.exe。这里注意,后缀是 exe 的才是 Windows 安装包。

提示:如果你想用最新的 Anaconda,可以先看官方 Release 页面确认最新版本号,再回镜像站找对应文件。镜像站通常和官方同步会有几天延迟,但这完全不重要,Anaconda 不是那种必须追新的软件,稳定最重要。

2.2 选择哪个版本的 Python

Anaconda 每个大版本会捆绑一个默认 Python 版本。举个例子,Anaconda3-2024.10 捆绑的是 Python 3.12,而 Anaconda3-2022.05 捆绑的是 Python 3.9。

选择原则很简单:如果你的项目需要特定 Python 版本,比如有些深度学习框架还没适配 3.12,那就选捆绑版本更接近的那个安装包。不过说实话,不用太纠结,因为 conda 随时可以创建其他 Python 版本的环境。你完全可以用 Anaconda 2024 的安装包,然后单独建一个 Python 3.9 的环境,两者不冲突。

2.3 安装路径:不要含中文和空格

Windows 上各种工具链对路径中的中文和空格支持参差不齐。Anaconda 默认安装路径是在用户目录下,比如C:\Users\你的用户名\anaconda3,如果你的用户名是中文(比如C:\Users\小明),后期装一些大型库时更容易出怪问题。

我的建议是安装时改成一个简单的路径,比如D:\Anaconda3或者C:\Anaconda3,干净利落。改路径会带来一个附加好处:重装系统后数据更好清理。

2.4 安装类型:Just Me 还是 All Users

安装过程中 Anaconda 会问Install for: Just Me / All Users。选Just Me就行。All Users 需要管理员权限,而且目录写入到 Program Files 下面,很多包编译时对带空格的路径有兼容问题。Just Me 安装在自己的用户目录,写入权限可控,不折腾。

第二处最关键的选项是Add Anaconda3 to my PATH environment variable。安装器默认是不勾选的,网上很多教程让大家勾上,这里我要给出不一样的看法。

勾上 PATH 的坏处是:你的 cmd 和 PowerShell 里全局都能用 conda,但同时会遮蔽系统里已有的 Python,导致一些别的软件(比如某些 IDE 自带的 Python 插件、命令行工具)被"劫持"到 Anaconda 环境,引发兼容问题。不勾的话,你在终端里直接敲 conda 会提示找不到命令,需要先通过 Anaconda Prompt 进入。

我的选择是:不勾,然后装完用conda init手动初始化。这个后面会细讲,操作其实很简单,而且比装完再改环境变量更干净。

3. 完整安装流程:从下载到看到 (base) 环境

下面按步骤走一遍安装流程。我会把每一步的具体界面、勾选内容和常见问题都写清楚。

3.1 下载与双击安装的细节

下载完成后,右键 exe,选择"以管理员身份运行"还是直接双击?实际上 Just Me 模式不需要管理员权限,直接双击就行。

进入安装界面,一路 Next,到Choose Install Type这一步:

  • 第一处选Just Me
  • 第二处Advanced Options,我建议这样勾:
    • Add Anaconda3 to my PATH environment variable:不勾
    • Register Anaconda3 as my default Python 3.*:可以勾上,这样大多数 IDE 会自动识别到 Anaconda 的 Python,省心。

安装过程耗时看机器。机械硬盘可能要 10 分钟以上,SSD 快一些。期间进度条卡住不用慌,它可能是在解压大型文件。装完后会让你勾选是否安装 VS Code,看需要,不需要就跳过。

3.2 验证安装与解决 conda 不是内部命令

装完后打开开始菜单,找到Anaconda Prompt (Anaconda3),点开。正常情况下你会看到命令行提示符前面有个(base),这就代表 Anaconda 的基本环境已经激活。

然后输入:

conda --version

如果输出了conda 24.x.x之类的版本号,说明安装成功。

但如果你图省事直接在普通的 cmd 或者 PowerShell 里敲 conda,大概率会看到:

'conda' 不是内部或外部命令,也不是可运行的程序或批处理文件

这就是因为你没勾 PATH。解决办法不是去改环境变量,而是老老实实回到 Anaconda Prompt,先执行:

conda init

这个命令会把 conda 的初始化脚本写入 PowerShell 和 cmd 的启动配置里。执行完成后关掉终端再重新打开,普通 cmd 里也能用 conda 了。

注意:经常看到网上有人说 conda 装完不能 activate,提示CommandNotFoundError: Run 'conda init' before 'conda activate'。这就是因为在非 Anaconda Prompt 终端里没有执行 conda init。执行一次,重开终端,问题解决。

3.3 关闭默认激活 base

每次打开新终端,前面都挂着(base),有些人不喜欢,但如果未来你经常在不同环境里切换,保留默认激活其实更省事。如果确实想去掉,运行:

conda config --set auto_activate_base false

想恢复就改回 true。这里要提醒一点:如果设成了 false,新终端里敲 conda 命令依然有效,但当前不处于任何 conda 环境,装包前记得手动 activate。

4. conda 核心命令速查与实操:环境管理和包管理

conda 的核心功能分两大块:环境管理和包管理。下面是我自己日常最常用的一组命令,背下来基本上可以应对 90% 的场景。

4.1 环境管理:创建、激活、退出、删除

创建新环境,指定名字和 Python 版本:

conda create -n labels python=3.9

这里-n labels是给环境取名为 labels,python=3.9是指定版本。命令执行时 conda 会去下载 Python 3.9 和它的底层依赖,网络不好容易失败,建议先换好国内源再进行(换源方法在第 5 章)。

激活环境:

conda activate labels

激活后命令行的前缀会从(base)变成(labels),此时你用的就是 labels 这个独立环境。注意有些老教程还让你用source activate,那是 Linux/macOS 时代的写法,Windows 上用conda activate就对了。

退出环境:

conda deactivate

查看所有环境:

conda env list

输出会列出所有环境名称和路径,当前环境前有个星号*。顺便说一句,base 环境的路径一般就是你 Anaconda 的安装目录。

删除不再用的环境:

conda env remove -n labels

clone 一个一模一样的环境做备份或者测试:

conda create -n labels_backup --clone labels

4.2 包管理:安装、卸载、升级、搜索

在环境里安装包,先激活环境再操作:

conda activate labels conda install numpy

如果想指定版本:

conda install numpy=1.26.2 conda install "numpy>=1.20,<1.27"

批量安装(把包名依次写下即可):

conda install numpy pandas scikit-learn matplotlib

卸载包:

conda remove numpy

查看当前环境已装的包:

conda list

搜索某个包在 conda 源里有哪些可用版本:

conda search numpy

升级某个包:

conda update numpy

升级 conda 本身:

conda update conda

不建议手贱频繁升级 conda。我遇到过升级后和某个旧环境兼容性出问题的情况,毕竟生产环境动不如静。

4.3 conda、pip 混合操作的纪律

前面说过 conda 和 pip 可以共存,但要有纪律。我的经验是:

  1. 先 conda 搜,有就 conda 装。
  2. conda 没有的包,保持当前环境激活状态,用pip install 包名装。
  3. 千万不要在环境 A 里激活状态下,用 pip 全局装包,那样会污染 base。
  4. 一个环境里混用 conda 和 pip 装包装多了之后,尽量不要用 conda 去更新已装包的版本,容易把 pip 装的包关系搞乱。

提示:有经验的人建议用 requirements.txt 管理 pip 依赖,但 conda 环境建议用conda env export > environment.yml导出整个环境配置,别人拿到这个 yml 后一条命令就能重建环境:conda env create -f environment.yml

5. 国内用户自救指南:换源、加速、常见报错全解

国内用 conda 最大的痛就是慢。默认源在国外,下载包时经常卡住、超时。好在国内有成熟的镜像机制,换源后速度提升非常明显。

5.1 换源:一份可持续用的 .condarc 配置

Anaconda 的包源配置存在用户目录下的.condarc文件里。推荐直接用命令行写入配置,最省事:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes

还可以加上 conda-forge 源,如果需要大量非默认库,推荐加上:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

之后执行conda config --show channels可以查看当前源的优先级,排在上面的会优先生效。这里要注意的是,多个源的优先级从高到低排列,最上面那个最先被访问。

如果你想清理换成默认源,直接把.condarc文件删除即可。Windows 下这个文件一般在C:\Users\你的用户名\.condarc

5.2 下载安装包还是慢?试试这些办法

换了源之后大部分场景都不会再卡了,但如果依然慢,常见原因有两个:

第一个是创建环境时时长还是太久。建议加上-c指定源,比如:

conda create -n test python=3.9 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

第二个是某些包大且依赖多,比如 PyTorch、TensorFlow。这类包建议直接用国内镜像或官方指定源。PyTorch 的安装命令里通常带--index-url,比如:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

不过这个官方源在国内也不算快,也可以用镜像站的 PyTorch wheel 目录。这要看你显卡的 CUDA 版本,建议先查驱动对应的 CUDA 版本再选。

5.3 排查 conda 常见的几个报错

我把自己遇到频率最高的三类报错整理成一张表:

报错现象原因解决办法
CondaHTTPError: HTTP 404或者连接失败源地址拼错或镜像源某个子目录不存在核对 .condarc 的 URL,去掉不存在的目录,如 free 目录在部分新版本已停更但 URL 仍然开放
CondaError: Run 'conda init' before 'conda activate'在非 Anaconda Prompt 终端使用 conda activate先执行conda init,关闭终端重开
Solving environment: ... found conflicts包与包之间依赖冲突,或 conda 版本过低conda update conda,再尝试conda install 包名 --channel conda-forge
CondaValueError: Malformed version string指定的包版本号格式有误检查版本号,或去掉=直接敲包名安装
UnavailableInvalidChannel: The channel is not accessible or is invalid源地址不可访问确认域名能通,换官方源或另一家镜像

如果确定源没问题,但 conda 还是解析依赖失败,可以试试专门解决依赖环境的 conda-forge 通道,加上--channel conda-forge后 conda 会用更全的包库来解析。代价是解析时间可能更长,但成功率更高。

注意:换源后,如果之前在 base 或某个环境里已经存在很多 conda 包,再执行 conda install 时它可能会尝试把所有包装成镜像源里的版本。这个操作正常,只是耗时。不想折腾的话,可以只在新环境使用新源,旧环境继续旧源。

6. 进阶玩法:和 PyCharm 联动、迁移环境、踩坑经验

环境管理熟练之后,日常开发就会顺畅得多。下面聊聊怎么把 Anaconda 嵌进 IDE,以及做一些环境迁移时的注意事项。

6.1 PyCharm 里配置 conda 环境

PyCharm 应该是很多 Python 开发者的主力 IDE。它和 Anaconda 的配合分两步。

第一步,让 IDE 认识 conda 环境。打开 PyCharm,进入File -> Settings -> Project: 你的项目名 -> Python Interpreter,点右上角齿轮图标,选择Add,然后在弹出的窗口里选Conda Environment,再选Existing environment,Interpreter 那边选择你 Anaconda 安装目录下python.exe。比如装到D:\Anaconda3,就选D:\Anaconda3\python.exe

第二步,让 PyCharm 使用你某个 conda 虚拟环境的解释器。路径一般在D:\Anaconda3\envs\labels\python.exe。选好之后,PyCharm 右下角会显示当前环境名,终端窗口也会自动激活对应 conda 环境。

很多新人在这里犯的错是:在 cmd 里激活了某个环境,然后打开 PyCharm,发现解释器还是 base。因为 PyCharm 的解释器是独立配置的。你必须在 Settings 里手动指定,它不会自动跟随你终端的 activate。

6.2 环境迁移与 conda 目录搬家的正确姿势

有时候 C 盘空间吃紧,想把 Anaconda 目录搬到 D 盘。很多人直接一刀剪切过去,结果大部分程序直接瘫痪。原因很简单:Anaconda 的很多配置文件和脚本里写死了绝对路径。

正确迁移方法是:先停掉所有 conda 环境进程,用conda env list记下所有环境路径,然后在新的路径下重新装一个 Anaconda(或者如果你只要某个环境,可以只搬 envs 目录)。迁移后conda env list如果发现原路径不存在,用conda config --set envs_dirs指定新路径:

conda config --set envs_dirs ["D:/Anaconda3/envs"]

还有一招,是把整个环境导出成 yml,在新机器上重建,这种方法最适合跨机器迁移环境,不用管路径:

conda activate labels conda env export > labels.yml

把 labels.yml 放到新机器,执行:

conda env create -f labels.yml

迁移之后记得在终端里重新执行conda init,因为路径变了,之前写入初始化脚本的路径也带着老地址。

6.3 踩坑实录:激活了环境但 import 不了包

这是我最常被问到的问题:明明conda activate labels输出了(labels),但python -c "import numpy"还是报 ModuleNotFoundError。

排查思路分两层。第一层,确认当前 python 是不是环境里的 python:

where python

如果结果显示的路径不是D:\Anaconda3\envs\labels\python.exe,说明 PATH 里的 Python 顺序有问题,把 base 的 Python 路径或系统 Python 路径排到了当前环境前面。重启终端基本能解决,因为 conda init 写的脚本在每次启动时会动态调整 PATH。第二层,确认环境里是不是真的没装这个包:

conda list numpy

如果第一条where python正常,第二条显示没有 numpy,那就说明你确实是在这个环境里没装包,用conda install numpy装上即可。

提示:"激活环境"这件事的本质就是修改 PATH,让pythonpip指向当前环境的可执行文件。理解这点后,很多诡异的路径问题都能猜个八九不离十。

6.4 创建 PyTorch 环境的完整示例

最后放一个完整的示例,帮你把前面所有命令串起来。假设我要创建一个pytorch39环境,专门做深度学习:

# 1. 创建环境 conda create -n pytorch39 python=3.9 -y # 2. 激活环境 conda activate pytorch39 # 3. 安装基础库 conda install numpy pandas matplotlib -y # 4. 安装 PyTorch(根据显卡 CUDA 版本选择 index-url) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 5. 验证 python -c "import torch; print(torch.__version__, torch.cuda.is_available())"

如果显卡不支持 CUDA,把第 4 步换成 CPU 版本:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

验证时torch.cuda.is_available()返回 False 并不代表安装失败,只是当前环境无法用 GPU 算,CPU 版也能跑,只是性能弱一些。

Anaconda 这套体系,刚上手会觉得"重",但用顺了之后,你会发现它帮你省掉的是最耗精力的环境噩梦。我个人的建议是别追求把所有命令一次背下来,先记住三个:conda create -nconda activateconda install,其他命令用到时候再查。装好之后,第一时间把源换了,再建一个自己名字命名的测试环境随便折腾,环境弄坏了直接删掉重建,毫无心理负担,这才是 conda 给你的最大自由。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询