Miniconda全平台实战
原创2026/7/20大约 9 分钟
Miniconda 是轻量级的 Conda 发行版,只包含包管理器和 Python,用多少装多少。本文覆盖安装、环境管理、镜像加速到 AI 开发环境搭建,帮你告别 Python 版本和依赖冲突的烦恼。
Miniconda 是什么?
Miniconda 是 Anaconda 的精简版,只包含:
- conda:包管理器和环境管理器
- Python:基础解释器
- 少量依赖包
和 Anaconda 的区别:
| 对比项 | Miniconda | Anaconda |
|---|---|---|
| 安装包体积 | ~100MB | ~1GB |
| 预装包 | 无(只有基础包) | 1500+ 数据科学包 |
| 适用场景 | 按需安装、轻量级、CI/CD | 教学、数据科学开箱即用 |
| 推荐度 | 日常开发推荐 | 新手入门可选 |
与 SDKMAN / NVM 的关系
SDKMAN 管 Java 生态,NVM 管 Node.js,Miniconda 管 Python 生态。三者互补,覆盖了后端(Java)、前端(Node)、数据/AI(Python)的版本管理需求。
安装 Miniconda
Windows
# 方式一:winget 一键安装(推荐,Windows 11 / Windows 10 1809+)
winget install Anaconda.Miniconda3
# 方式二:手动下载安装
# 1. 访问 https://docs.anaconda.com/miniconda/
# 2. 下载 Miniconda3 Windows 64-bit 安装包
# 3. 运行 exe,安装选项建议勾选:
# - Add Miniconda3 to my PATH environment variable
# - Register Miniconda3 as my default Python 3.x
# 安装后重新打开终端验证安装:
conda --version
# 输出类似: conda 24.5.0Linux / WSL
# 下载安装脚本
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
# 安装过程中:
# - 按 Enter 浏览协议
# - 输入 yes 同意
# - 确认安装路径(默认 ~/miniconda3,直接回车)
# - 是否运行 conda init?(输入 yes,让 conda 自动配置 shell)
# 最后重载 shell 配置
source ~/.bashrc # 或 source ~/.zshrc验证安装:
conda --version
# conda 24.5.0
which conda
# ~/miniconda3/bin/condamacOS
# 下载安装脚本
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh # Apple Silicon
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh # Intel
# 运行安装
bash Miniconda3-latest-MacOSX-arm64.sh
# 安装步骤与 Linux 相同禁用 base 环境自动激活
安装后终端默认会激活 (base) 环境,如果觉得碍眼:
# 禁用自动激活 base 环境
conda config --set auto_activate_base false
# 重新开启
conda config --set auto_activate_base true
# 手动激活/退出 base
conda activate
conda deactivate镜像加速
默认从 Anaconda 官方源下载,国内速度慢:
# 配置清华镜像源
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
# 查看已配置的镜像源
conda config --show channels
# 恢复默认源
conda config --remove-key channels配置文件的完整位置:
# Linux / WSL / macOS
~/.condarc
# Windows
C:\Users\你的用户名\.condarc.condarc 示例:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
show_channel_urls: true
auto_activate_base: falsepip 镜像也一并配好:
# pip 使用清华镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple核心命令
环境管理
环境是 Conda 最核心的概念——每个环境是一个独立的 Python 沙箱,互不污染。
创建环境
# 创建指定 Python 版本的环境(默认只装最基础的包)
conda create -n myenv python=3.10
# 创建的同时安装常用包
conda create -n myenv python=3.10 numpy pandas matplotlib
# 指定 Python 精确版本
conda create -n py39 python=3.9.18
# 从 environment.yml 文件创建环境
conda env create -f environment.yml
# 克隆已有环境
conda create -n myenv-clone --clone myenv
# 指定环境路径(非默认目录)
conda create -p ./local-env python=3.11激活与退出
# 激活环境
conda activate myenv
conda activate ./local-env # 激活指定路径的环境
# 退出当前环境
conda deactivate
# 查看所有环境
conda env list
conda info --envs
# 查看当前环境的包
conda list删除与重命名
# 删除环境
conda remove -n myenv --all
# 删除指定路径的环境
conda remove -p ./local-env --all
# 重命名环境(conda 无内置重命名,通过克隆+删除实现)
conda create -n new-name --clone old-name
conda remove -n old-name --all包管理
# 安装包
conda install numpy
conda install numpy=1.24.3 # 指定版本
conda install numpy pandas matplotlib # 一次性装多个
# 从 conda-forge 安装(往往比默认源版本更新)
conda install -c conda-forge scikit-learn
# 卸载包
conda remove numpy
conda remove numpy pandas # 一次性卸载多个
# 更新包
conda update numpy
conda update --all # 更新当前环境所有包
# 搜索包
conda search numpy
conda search "numpy>=1.24"
# 列出已安装的包
conda list
conda list "^n" # 正则过滤(以 n 开头)
conda list --export > requirements.txt # 导出为 requirements 格式管理 Python 版本本身
# 更新当前环境的 Python 小版本
conda update python
# 安装特定 Python 版本到当前环境(会同时更新依赖)
conda install python=3.11
# 查看可用的 Python 版本
conda search python
# 升级 conda 本身
conda update conda导出与复现环境
# 导出为 environment.yml(跨平台可复现)
conda env export > environment.yml
# 导出为精简版(仅显式安装的包,不含依赖)
conda env export --from-history > environment.yml
# 导出为 pip requirements.txt
conda list --export > requirements.txt
# 或者只导出 pip 安装的包
pip freeze > requirements.txt
# 在另一台机器上复现环境
conda env create -f environment.yml项目实战流程
场景一:多项目不同 Python 版本
# 项目 A 要求 Python 3.8 + 老版 numpy
conda create -n project-a python=3.8 numpy=1.21
conda activate project-a
# 项目 B 要求 Python 3.12 + 最新依赖
conda create -n project-b python=3.12
conda activate project-b
# 项目 C 指定路径环境(放在项目目录下,不污染全局)
cd ~/projects/project-c
conda create -p ./.venv python=3.10
conda activate ./.venv
# 随时切换
conda activate project-a
conda activate project-b场景二:.gitignore 与团队协作
# ===== 项目 .gitignore =====
# Conda 环境目录(指定路径方式)
.venv/
# 保留环境配置文件即可
# conda env export > environment.yml
# git add environment.yml
# ===== 团队成员复现环境 =====
git clone <repo-url>
cd project
conda env create -f environment.yml
conda activate <env-name>场景三:conda + pip 混用
Conda 环境中也可以使用 pip,但需注意顺序:
conda create -n myenv python=3.11
# 1. 先用 conda 安装尽可能多的包
conda install numpy pandas scipy matplotlib
# 2. conda 找不到的包再用 pip
pip install some-niche-library
# 3. 最终导出环境(conda 和 pip 的包都记录)
conda env export > environment.yml
# 导出后文件同时包含 conda 和 pip 的依赖:
# dependencies:
# - numpy=1.26.4
# - pandas=2.2.2
# - pip:
# - some-niche-library==0.1.0混用注意事项
务必先 conda 后 pip。如果先用 pip 安装了大量包再回头用 conda,conda 可能会覆盖 pip 安装的依赖导致冲突。conda list 可以查看每个包的来源渠道(conda 还是 pypi)。
AI 开发环境搭建
PyTorch
# 创建专用环境
conda create -n torch python=3.11
conda activate torch
# CPU 版本
conda install pytorch torchvision torchaudio cpuonly -c pytorch
# CUDA 11.8 版本
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
# CUDA 12.1 版本
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 验证安装
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"TensorFlow
conda create -n tf python=3.11
conda activate tf
# CPU 版本
pip install tensorflow
# GPU 版本
conda install -c conda-forge cudatoolkit=11.8 cudnn
pip install tensorflow
# 验证
python -c "import tensorflow as tf; print(tf.__version__); print(tf.config.list_physical_devices('GPU'))"常用 AI 工具链一键安装
conda create -n ai python=3.11
conda activate ai
# 科学计算基础
conda install numpy pandas scipy matplotlib seaborn
# 机器学习
conda install -c conda-forge scikit-learn xgboost lightgbm
# 深度学习
conda install pytorch torchvision torchaudio -c pytorch
# 数据处理
conda install -c conda-forge opencv pillow
# Jupyter 交互式开发
conda install -c conda-forge jupyterlab jupyter notebook
# LLM / AI 工具
pip install transformers datasets accelerate
pip install openai langchain chromadb
# 启动 Jupyter Lab
jupyter lab常用技巧
conda init 与 shell 集成
# 首次安装后让 conda 注册到 shell
conda init bash # bash
conda init zsh # zsh
conda init fish # fish
conda init powershell # Windows PowerShell
# 撤销 shell 集成
conda init --reverse bash清理磁盘空间
# Conda 包缓存非常占空间,定期清理:
conda clean --all # 清理所有缓存(包缓存、索引缓存等)
# 分项清理
conda clean --packages # 清理下载的包缓存(回收空间最多)
conda clean --tarballs # 清理解压的 tar 包
conda clean --index-cache # 清理索引缓存
# 预览而不删除
conda clean --all --dry-run环境存放位置
# 默认环境目录(全局)
~/.conda/envs/ # Linux/macOS
C:\Users\用户名\miniconda3\envs\ # Windows
# 指定路径创建(项目级环境,推荐!)
conda create -p ./.venv python=3.11
# 优点:与项目绑定,删项目 = 删环境
# 缺点:.venv 要加入 .gitignore锁定 Python 版本
# 在 environment.yml 中固定 Python 版本
# environment.yml
name: myapp
channels:
- defaults
dependencies:
- python=3.11.4 # 精确锁定
- numpy=1.26.4
- pandas=2.2.2常见问题
conda 命令找不到
# 症状:安装后终端输入 conda 无反应
# 原因:conda 没有被加入 PATH,或 shell 未初始化
# 解决方案 1:手动初始化
~/miniconda3/bin/conda init bash
source ~/.bashrc
# 解决方案 2:直接使用完整路径
~/miniconda3/bin/conda --version
# 解决方案 3(Windows):检查 PATH 环境变量是否包含
# C:\Users\用户名\miniconda3
# C:\Users\用户名\miniconda3\Scripts
# C:\Users\用户名\miniconda3\Library\bin创建环境时 Solving environment 卡住
# 这是 conda 的依赖求解器在计算依赖关系,对复杂依赖可能非常慢
# 解决方案 1:使用 libmamba 求解器(conda 22.9+ 内置,比默认快得多)
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
# 之后创建环境会快很多
# 解决方案 2:改用 mamba 命令(conda 的 C++ 重写版,自带快速求解)
conda install mamba -n base -c conda-forge
mamba create -n myenv python=3.11 # 语法与 conda 完全一致
# 解决方案 3:只装必要的包,避免一次性装太多
conda create -n myenv python=3.11 # 先只装 Python
conda install numpy pandas # 再逐步添加pip install 后环境混乱
# 症状:conda list 中同一个包出现两个来源(conda + pypi)
# 原因:用 pip 装了 conda 已有的包
# 查看包的来源
conda list | grep numpy
# 解决:统一来源
pip uninstall numpy # 先删 pip 版本
conda install numpy --force-reinstall # 再用 conda 重装
# 预防:在 environment.yml 中明确区分 conda 和 pip 依赖跨平台 environment.yml 兼容问题
# 症状:Windows 导出的 environment.yml 在 Linux 上安装报错
# 原因:某些包有平台相关的构建标签
# 解决:导出跨平台兼容版本
conda env export --from-history --no-builds > environment.yml
# --from-history:只导出显式安装的包
# --no-builds:去掉平台相关的构建标签卸载 Miniconda
# Linux / macOS / WSL
rm -rf ~/miniconda3
rm -rf ~/.conda
# 同时清理 ~/.bashrc 中 conda init 添加的代码块
# 删除 # >>> conda initialize >>> 到 # <<< conda initialize <<< 之间的所有内容
# Windows
# 控制面板 → 程序和功能 → 卸载 Miniconda3
# 或运行卸载程序:
C:\Users\用户名\miniconda3\Uninstall-Miniconda3.exe命令速查
| 命令 | 说明 |
|---|---|
conda create -n name python=3.11 | 创建环境 |
conda create -p ./.venv python=3.11 | 创建项目级环境 |
conda activate name | 激活环境 |
conda deactivate | 退出环境 |
conda env list | 列出所有环境 |
conda remove -n name --all | 删除环境 |
conda install pkg | 安装包 |
conda remove pkg | 卸载包 |
conda update --all | 更新所有包 |
conda list | 列出已安装的包 |
conda search pkg | 搜索包 |
conda env export > env.yml | 导出环境配置 |
conda env create -f env.yml | 从配置创建环境 |
conda clean --all | 清理缓存 |
conda config --set solver libmamba | 启用快速求解器 |
总结
| 需求 | 对应工具 |
|---|---|
| Node.js 版本管理 | NVM |
| Java 生态版本管理 | SDKMAN |
| Python 生态版本管理 | Miniconda |
| 多语言版本管理 | asdf(可选,但学习成本高) |
至此你的开发工具链已经完整:WSL(Linux 环境)→ NVM(Node)→ SDKMAN(Java)→ Miniconda(Python),覆盖了前端、后端、数据与 AI 三大领域的版本管理需求。每个工具各司其职,互不干扰。