目录
[1. 为什么要用 Anaconda?](#1. 为什么要用 Anaconda?)
[2. Anaconda、conda、Navigator 到底是什么关系?](#2. Anaconda、conda、Navigator 到底是什么关系?)
[2.1 Anaconda Distribution](#2.1 Anaconda Distribution)
[2.2 conda](#2.2 conda)
[2.3 Anaconda Navigator](#2.3 Anaconda Navigator)
[3. Anaconda 解决了什么问题?](#3. Anaconda 解决了什么问题?)
[3.1 解决 Python 版本冲突](#3.1 解决 Python 版本冲突)
[3.2 解决依赖冲突](#3.2 解决依赖冲突)
[3.3 解决项目污染](#3.3 解决项目污染)
[3.4 解决环境迁移困难](#3.4 解决环境迁移困难)
[4. Anaconda 和 Miniconda 怎么选?](#4. Anaconda 和 Miniconda 怎么选?)
[4.1 Anaconda](#4.1 Anaconda)
[4.2 Miniconda](#4.2 Miniconda)
[5. Windows 安装前的建议](#5. Windows 安装前的建议)
[5.1 建议安装到 D 盘](#5.1 建议安装到 D 盘)
[5.2 不建议勾选 Add Anaconda to PATH](#5.2 不建议勾选 Add Anaconda to PATH)
[5.3 尽量避免中文路径、特殊字符路径](#5.3 尽量避免中文路径、特殊字符路径)
[6. Windows 安装 Anaconda 的完整流程](#6. Windows 安装 Anaconda 的完整流程)
[6.1 下载安装包](#6.1 下载安装包)
[6.2 图形安装步骤](#6.2 图形安装步骤)
[7. 安装完成后,第一步该做什么?](#7. 安装完成后,第一步该做什么?)
[8. 让 PowerShell 和 CMD 都能识别 conda](#8. 让 PowerShell 和 CMD 都能识别 conda)
[8.1 在 PowerShell 中启用 conda](#8.1 在 PowerShell 中启用 conda)
[8.2 在 CMD 中启用 conda](#8.2 在 CMD 中启用 conda)
[9. 什么是 conda 环境?](#9. 什么是 conda 环境?)
[10. 最常用的 conda 命令](#10. 最常用的 conda 命令)
[10.1 查看 conda 版本](#10.1 查看 conda 版本)
[10.2 查看所有环境](#10.2 查看所有环境)
[10.3 创建环境](#10.3 创建环境)
[10.4 激活环境](#10.4 激活环境)
[10.5 退出环境](#10.5 退出环境)
[10.6 切回 base](#10.6 切回 base)
[10.7 查看当前解释器路径](#10.7 查看当前解释器路径)
[10.8 查看当前 Python 版本](#10.8 查看当前 Python 版本)
[10.9 查看当前环境已安装包](#10.9 查看当前环境已安装包)
[10.10 安装包](#10.10 安装包)
[10.11 安装指定版本](#10.11 安装指定版本)
[10.12 删除包](#10.12 删除包)
[10.13 删除环境](#10.13 删除环境)
[10.14 不激活环境直接运行命令](#10.14 不激活环境直接运行命令)
[10.15 清理缓存](#10.15 清理缓存)
[11. 从零创建多个 Python 解释器环境](#11. 从零创建多个 Python 解释器环境)
[11.1 创建 Python 3.11 环境](#11.1 创建 Python 3.11 环境)
[11.2 创建 Python 3.12 环境](#11.2 创建 Python 3.12 环境)
[11.3 查看环境列表](#11.3 查看环境列表)
[11.4 切换到 py311](#11.4 切换到 py311)
[11.5 切换到 py312](#11.5 切换到 py312)
[12. 如何查看当前到底用的是哪个 Python 解释器?](#12. 如何查看当前到底用的是哪个 Python 解释器?)
[13. 如何迁移旧 Python 环境中的包?](#13. 如何迁移旧 Python 环境中的包?)
[13.1 导出旧解释器中的包](#13.1 导出旧解释器中的包)
[13.2 激活新环境](#13.2 激活新环境)
[13.3 在新环境中安装](#13.3 在新环境中安装)
[13.4 为什么不能直接复制 site-packages?](#13.4 为什么不能直接复制 site-packages?)
[14. 推荐把环境和缓存统一放到 D 盘](#14. 推荐把环境和缓存统一放到 D 盘)
[14.1 用户目录下创建 .condarc](#14.1 用户目录下创建 .condarc)
[14.2 各字段含义](#14.2 各字段含义)
[14.3 查看配置是否生效](#14.3 查看配置是否生效)
[15. 为什么建议少用 base 环境装项目依赖?](#15. 为什么建议少用 base 环境装项目依赖?)
[16. Navigator 适合哪些人?](#16. Navigator 适合哪些人?)
[17. 常见问题与排错经验](#17. 常见问题与排错经验)
[17.1 conda 命令找不到](#17.1 conda 命令找不到)
[17.2 conda env list 里为什么只有 base?](#17.2 conda env list 里为什么只有 base?)
[17.3 conda activate py311 失败](#17.3 conda activate py311 失败)
[17.4 首次创建环境时要求接受 TOS](#17.4 首次创建环境时要求接受 TOS)
[17.5 cmd 能用,PowerShell 不能用,或者反过来](#17.5 cmd 能用,PowerShell 不能用,或者反过来)
[17.6 为什么不建议安装时直接勾选 Add to PATH?](#17.6 为什么不建议安装时直接勾选 Add to PATH?)
[18. 最实用的一组日常命令](#18. 最实用的一组日常命令)
[查看 Python 解释器](#查看 Python 解释器)
[19. 一套推荐的 Windows 初始化方案](#19. 一套推荐的 Windows 初始化方案)
[第一步:安装到 D 盘](#第一步:安装到 D 盘)
[第二步:初始化 shell](#第二步:初始化 shell)
[第四步:接受 TOS](#第四步:接受 TOS)
[20. 总结](#20. 总结)
摘要
很多 Python 初学者在学习和开发过程中,都会遇到这些问题:不同项目需要不同版本的 Python、pip install 容易依赖冲突、旧项目和新项目互相污染、Jupyter 和 IDE 的解释器切换混乱。 而 Anaconda + conda 的核心价值,就是帮我们把 Python 解释器、第三方依赖、项目环境 管理清楚。
本文以 Windows 平台 为例,系统梳理 Anaconda 的作用、安装流程、环境管理方法、常用命令、环境迁移方案,以及实际开发中最常见的几个坑,适合新手从零上手,也适合作为日常查阅手册。
关键词:Anaconda、conda、Python 环境管理、Windows、Python 版本切换、数据分析、环境隔离
1. 为什么要用 Anaconda?
很多人第一次学 Python,通常是这样开始的:
bash
python --version
pip install requests
pip install numpy
pip install pandas
一开始很顺,但随着项目增多,问题就来了:
-
项目 A 需要 Python 3.11
-
项目 B 需要 Python 3.12
-
项目 C 还只能跑在 Python 3.10
-
一个项目装的依赖,影响另一个项目
-
科学计算类库安装容易报错
-
Jupyter、PyCharm、VS Code 的解释器切换越来越乱
这时,单一全局 Python 已经不够用了。
Anaconda 的意义,不只是"帮你安装 Python",而是:
-
帮你管理多个 Python 版本
-
帮你隔离不同项目的依赖
-
帮你更稳定地安装科学计算和数据分析相关包
-
帮你把开发环境变得可迁移、可复制、可维护
一句话总结:
Anaconda 是一个围绕 Python 的完整发行版,而 conda 是它的环境管理器和包管理器。
2. Anaconda、conda、Navigator 到底是什么关系?
很多人会把这三个概念混在一起,其实它们是不同层级的东西。
2.1 Anaconda Distribution
这是完整发行版,里面包含:
-
Python
-
conda
-
Anaconda Navigator
-
大量常用数据科学包
适合新手和想快速开箱即用的人。
2.2 conda
这是命令行工具,也是 Anaconda 的核心:
-
创建环境
-
删除环境
-
切换环境
-
安装包
-
升级包
-
导出环境
平时你最常接触的,其实就是 conda。
2.3 Anaconda Navigator
这是图形界面工具,可以帮助你:
-
图形化创建环境
-
图形化安装包
-
启动 Jupyter Notebook / JupyterLab / Spyder
-
管理 channels
如果你不喜欢命令行,可以先用 Navigator 入门。
3. Anaconda 解决了什么问题?
3.1 解决 Python 版本冲突
比如:
bash
conda create -n py311 python=3.11
conda create -n py312 python=3.12
这样你就有了两个独立环境:
-
py311 -
py312
它们使用不同 Python 解释器,互不干扰。
3.2 解决依赖冲突
同样是安装 numpy、pandas、scipy、matplotlib,conda 在很多二进制依赖场景下会比纯 pip 更稳。
3.3 解决项目污染
推荐每个项目单独创建环境,例如:
-
web311 -
data312 -
torch-env
谁也不影响谁。
3.4 解决环境迁移困难
conda 环境可以导出和重建:
bash
conda env export > env.yml
conda env create -f env.yml
这对团队协作尤其重要。
4. Anaconda 和 Miniconda 怎么选?
很多人安装前都会纠结这个问题。
4.1 Anaconda
特点:
-
自带很多常用包
-
自带 Navigator
-
上手简单
-
占用空间更大
适合:
-
Python 新手
-
数据分析入门用户
-
不想自己从零装环境的人
4.2 Miniconda
特点:
-
只有 conda 和最小依赖
-
更轻量
-
更适合自己定制环境
适合:
-
对命令行熟悉的人
-
希望环境更干净的人
-
想精细控制包安装的人
如果你是第一次接触,建议直接选 Anaconda 。 如果你已经比较熟悉 Python 环境管理,想要轻量方案,可以选 Miniconda。
5. Windows 安装前的建议
正式安装前,先讲几个很重要的经验。
5.1 建议安装到 D 盘
如果你的 C 盘空间不富裕,建议把 Anaconda 本体、环境目录、包缓存目录统一放到 D 盘,例如:
bash
D:\PythonVersionManager\Anaconda3
D:\PythonVersionManager\conda-envs
D:\PythonVersionManager\conda-pkgs
这样做的好处:
-
节省 C 盘空间
-
后续环境和缓存集中管理
-
迁移、备份、清理都更方便
5.2 不建议勾选 Add Anaconda to PATH
官方也不推荐安装时直接把整套 Anaconda 全部塞进 PATH。 原因是容易与系统里已有 Python、其他 IDE、已有脚本环境发生冲突。
更稳妥的做法是:
-
安装后执行
conda init -
或者只把
condabin加入 PATH
5.3 尽量避免中文路径、特殊字符路径
虽然不一定必然报错,但为了稳,推荐使用纯英文路径。
6. Windows 安装 Anaconda 的完整流程
6.1 下载安装包
官方下载入口:
-
Anaconda 安装总览 https://www.anaconda.com/docs/getting-started/anaconda/install/overview
-
Windows 安装页 https://www.anaconda.com/docs/getting-started/anaconda/install
6.2 图形安装步骤
双击安装包后,按下面流程操作:
-
点击
Next -
点击
I Agree -
选择
Just Me -
选择安装目录,例如:
bash
D:\PythonVersionManager\Anaconda3
- 安装选项建议:
-
Create shortcuts:可选 -
Add Anaconda3 to my PATH environment variable:不建议勾选 -
Register Anaconda3 as my default Python:按需决定 -
Clear the package cache upon completion:按需决定
-
点击
Install -
安装完成后点击
Finish
7. 安装完成后,第一步该做什么?
安装完成后,先打开:
-
Anaconda Prompt
-
或 PowerShell
-
或 CMD
然后执行以下命令:
bash
conda --version
python --version
conda info
conda env list
如果安装正常,第一次一般只会看到一个环境:
base
这表示你的 Anaconda 基础环境已安装完成。
8. 让 PowerShell 和 CMD 都能识别 conda
这是 Windows 最常见的问题。
8.1 在 PowerShell 中启用 conda
执行:
bash
conda init powershell
然后关闭 PowerShell,重新打开。
8.2 在 CMD 中启用 conda
执行:
bash
conda init --condabin
这一步的作用是: 让普通 CMD 窗口也能识别 conda 命令。
执行完后,关闭当前 CMD,再重新打开,执行:
bash
conda --version
conda env list
如果仍然识别不了,说明 condabin 还没进入用户 PATH。 这时可以手动把下面路径加入用户环境变量 PATH:
bash
D:\PythonVersionManager\Anaconda3\condabin
9. 什么是 conda 环境?
你可以把 conda 环境理解为:
一个独立的 Python 解释器 + 一套独立的依赖包集合
比如下面两个环境:
bash
conda create -n py311 python=3.11
conda create -n py312 python=3.12
这就意味着:
-
py311有自己的 Python 3.11 -
py312有自己的 Python 3.12 -
两者的包互不影响
10. 最常用的 conda 命令
这一节建议收藏,基本够日常使用。
10.1 查看 conda 版本
bash
conda --version
10.2 查看所有环境
bash
conda env list
或:
bash
conda info --envs
10.3 创建环境
bash
conda create -n py311 python=3.11
conda create -n py312 python=3.12
自动确认:
bash
conda create -n py311 python=3.11 -y
10.4 激活环境
bash
conda activate py311
10.5 退出环境
bash
conda deactivate
10.6 切回 base
bash
conda activate base
10.7 查看当前解释器路径
bash
python -c "import sys; print(sys.executable)"
10.8 查看当前 Python 版本
bash
python --version
10.9 查看当前环境已安装包
bash
conda list
pip list
10.10 安装包
bash
conda install numpy
conda install pandas matplotlib
10.11 安装指定版本
bash
conda install python=3.11
conda install numpy=1.26
10.12 删除包
bash
conda remove numpy
10.13 删除环境
bash
conda env remove -n py311
10.14 不激活环境直接运行命令
bash
conda run -n py311 python --version
10.15 清理缓存
bash
conda clean --all -y
11. 从零创建多个 Python 解释器环境
下面演示最典型的多解释器环境管理。
11.1 创建 Python 3.11 环境
bash
conda create -n py311 python=3.11 -y
11.2 创建 Python 3.12 环境
bash
conda create -n py312 python=3.12 -y
11.3 查看环境列表
bash
conda env list
你应该会看到类似:
bash
py311
py312
11.4 切换到 py311
bash
conda activate py311
python --version
python -c "import sys; print(sys.executable)"
11.5 切换到 py312
bash
conda activate py312
python --version
python -c "import sys; print(sys.executable)"
如果输出路径类似下面这样,就说明切换成功:
bash
D:\PythonVersionManager\conda-envs\py311\python.exe
12. 如何查看当前到底用的是哪个 Python 解释器?
这个问题非常重要,因为很多人以为自己切换成功了,其实没有。
最可靠的查看方法:
bash
python --version
python -c "import sys; print(sys.executable)"
where python
解释:
-
python --version:看当前 Python 版本 -
sys.executable:看当前真正使用的 Python 可执行文件路径 -
where python:看命令搜索路径中有哪些 Python
如果你已经执行了:
bash
conda activate py311
那么 sys.executable 正常应该指向:
bash
D:\PythonVersionManager\conda-envs\py311\python.exe
13. 如何迁移旧 Python 环境中的包?
很多人之前已经在别的解释器里安装了不少包,比如:
bash
D:\PDEV\Python3.12\python.exe
这时千万不要直接把 site-packages 整个复制过去。 正确方法是:导出包清单,然后在新环境中重新安装。
13.1 导出旧解释器中的包
bash
D:\PDEV\Python3.12\python.exe -m pip freeze > requirements.txt
13.2 激活新环境
bash
conda activate py312
13.3 在新环境中安装
bash
python -m pip install -r requirements.txt
13.4 为什么不能直接复制 site-packages?
因为很多包与:
-
Python 小版本
-
编译 ABI
-
操作系统平台
-
二进制依赖
强相关。 直接复制常常导致环境损坏或运行异常。
14. 推荐把环境和缓存统一放到 D 盘
如果你想把所有 conda 环境都集中放到 D 盘,可以配置 .condarc。
14.1 用户目录下创建 .condarc
推荐内容如下:
bash
channels:
- defaults
envs_dirs:
- D:\PythonVersionManager\conda-envs
pkgs_dirs:
- D:\PythonVersionManager\conda-pkgs
auto_activate: false
number_channel_notices: 0
14.2 各字段含义
-
channels:默认下载源 -
envs_dirs:环境存放目录 -
pkgs_dirs:包缓存目录 -
auto_activate: false:打开终端时不自动进入 base -
number_channel_notices: 0:关闭 channel notices 提示
14.3 查看配置是否生效
bash
conda config --show
查看配置来源:
bash
conda config --show-sources
15. 为什么建议少用 base 环境装项目依赖?
base 更像系统基础环境。 推荐把它留给:
-
conda 本体
-
Navigator
-
少量基础工具
真正的项目开发,建议每个项目单独建环境。
错误做法:
- 把所有项目的包都装到 base
正确做法:
-
py311-web -
py312-data -
torch-env
这样后续排查问题会轻松很多。
16. Navigator 适合哪些人?
如果你不想记命令,可以使用 Anaconda Navigator。
它的作用:
-
图形化创建环境
-
图形化安装包
-
启动 JupyterLab / Jupyter Notebook / Spyder
-
管理工具和环境
启动命令:
bash
anaconda-navigator
如果命令不方便,也可以直接从开始菜单打开。
17. 常见问题与排错经验
这一节是最实用的部分。
17.1 conda 命令找不到
现象:
'conda' 不是内部或外部命令
原因通常是:
-
没执行
conda init -
condabin没加到 PATH -
当前终端是老窗口,没有重开
解决:
bash
conda init powershell
conda init --condabin
然后关闭终端,重新打开。
17.2 conda env list 里为什么只有 base?
这说明 新环境根本还没创建成功,而不是"conda 读不到"。
比如你看到:
bash
--什么都没有的控制返回结果
那就说明现在只有基础环境。
解决:
bash
conda create -n py311 python=3.11 -y
conda create -n py312 python=3.12 -y
然后再看:
bash
conda env list
17.3 conda activate py311 失败
常见原因:
-
环境不存在
-
shell 没初始化
-
conda没进 PATH -
.condarc配置有误
建议排查顺序:
bash
conda env list
conda info
conda config --show-sources
python -c "import sys; print(sys.executable)"
17.4 首次创建环境时要求接受 TOS
现在 Anaconda 默认 channels 有 Terms of Service。 首次使用时可能会要求先接受。
可执行:
bash
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2
17.5 cmd 能用,PowerShell 不能用,或者反过来
这是 Windows 下很常见的 shell 初始化问题。
建议统一执行:
bash
conda init powershell
conda init --condabin
然后把 PowerShell、CMD 都关掉重新打开。
17.6 为什么不建议安装时直接勾选 Add to PATH?
因为这会让整个系统长期把 Anaconda 二进制放在前面,容易影响:
-
其他 Python
-
IDE 默认解释器
-
一些系统脚本
更稳妥的是:
-
用
conda init -
或者只放
condabin
18. 最实用的一组日常命令
下面是一套非常高频的日常用法。
创建环境
bash
conda create -n py311 python=3.11 -y
激活环境
bash
conda activate py311
查看 Python 解释器
bash
python --version
python -c "import sys; print(sys.executable)"
安装常用包
bash
conda install numpy pandas matplotlib
查看包列表
bash
conda list
切换到另一个环境
bash
conda activate py312
退出环境
bash
conda deactivate
删除环境
bash
conda env remove -n py311
19. 一套推荐的 Windows 初始化方案
如果你是第一次配置,推荐按下面顺序执行。
第一步:安装到 D 盘
bash
D:\PythonVersionManager\Anaconda3
第二步:初始化 shell
bash
conda init powershell
conda init --condabin
第三步:配置环境和缓存目录
bash
.condarc:
channels:
- defaults
envs_dirs:
- D:\PythonVersionManager\conda-envs
pkgs_dirs:
- D:\PythonVersionManager\conda-pkgs
auto_activate: false
number_channel_notices: 0
第四步:接受 TOS
bash
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2
第五步:创建环境
bash
conda create -n py311 python=3.11 -y
conda create -n py312 python=3.12 -y
第六步:验证
bash
conda env list
conda activate py311
python --version
conda activate py312
python --version
20. 总结
Anaconda 最核心的意义,不是"帮你安装了一大堆库",而是:
-
帮你管理多个 Python 解释器
-
帮你隔离项目依赖
-
帮你减少版本冲突
-
帮你让开发环境更稳定
-
帮你让环境更容易迁移和复现
如果你只记住一句话,那就是:
不要把所有项目都塞进一个全局 Python,而是用 conda 为每个项目创建独立环境。
这才是 Anaconda / conda 真正解决问题的方式。
参考资料
-
Anaconda 安装总览 https://www.anaconda.com/docs/getting-started/anaconda/install/overview
-
Anaconda 安装文档 https://www.anaconda.com/docs/getting-started/anaconda/install
-
Anaconda 静默安装 https://www.anaconda.com/docs/getting-started/anaconda/advanced-install/silent-mode
-
Navigator 介绍 https://www.anaconda.com/docs/tools/anaconda-navigator/overview
-
conda init官方文档 https://docs.conda.io/projects/conda/en/latest/commands/init.html -
conda env list官方文档 https://docs.conda.io/projects/conda/en/stable/commands/env/list.html -
conda install官方文档 https://docs.conda.io/projects/conda/en/latest/commands/install.html -
conda run官方文档 https://docs.conda.io/projects/conda/en/latest/commands/run.html -
conda config官方文档 https://docs.conda.io/projects/conda/en/stable/commands/config.html -
.condarc配置文档 https://docs.conda.io/en/latest/user-guide/configuration/use-condarc.html -
自定义环境与包缓存目录 https://docs.conda.io/projects/conda/en/stable/user-guide/configuration/custom-env-and-pkg-locations.html
-
conda env export官方文档 https://docs.conda.io/projects/conda/en/latest/commands/env/export.html -
conda env remove官方文档 https://docs.conda.io/projects/conda/en/stable/commands/env/remove.html -
conda clean官方文档 https://docs.conda.io/projects/conda/en/stable/commands/clean.html -
Anaconda TOS 插件说明 https://www.anaconda.com/docs/getting-started/tos-plugin