安装 Conda:Miniconda / Anaconda 的安装与基本配置
先问个问题:Miniconda 和 Anaconda,到底该装哪个?
说实话,我早年入坑时直接装了 Anaconda,图省事。但在服务器上,Anaconda 那一堆预装包基本用不上,白白占空间。后来切到 Miniconda,清爽很多。你如果只是跑 Cromwell + Conda 环境,Miniconda 足够了。
两种发行版,选对不选贵
| 特性 | Miniconda | Anaconda |
|---|---|---|
| 体积 | ~500 MB | ~3 GB |
| 预装包 | 仅 conda + Python + 依赖 | 150+ 常用数据科学包 |
| 适用场景 | 服务器、自动化、定制环境 | 本地学习、快速原型 |
| 管理灵活性 | 极佳(按需安装) | 一般 |
个人建议:
- 生产环境、CI/CD、Docker 镜像 → Miniconda
- 自己写 demo、教学生 → Anaconda 也没问题
平台安装:Linux / macOS / Windows
我记着第一次给公司服务器装 Miniconda 时,还手动配了 proxy。当时踩了个坑,后面我会提到。咱们先看最干净的安装命令。
Linux / macOS(命令行安装)
# 下载安装脚本(以 Miniconda3 Linux x86_64 为例)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行安装(建议不要 sudo)
bash Miniconda3-latest-Linux-x86_64.sh
安装过程会问你是否同意许可、安装路径。我一般直接回车用默认 ~/miniconda3。最后一步会问要不要初始化 conda,选 yes 让它自动写 .bashrc。
Windows 安装
Windows 上有两种方式:
- 图形安装器(推荐新手)
- 通过 PowerShell + winget(老手)
# 使用 winget(Windows 10 1709+ 自带包管理器)
winget install Miniconda3
图形安装器一路 Next,注意勾选 Add Miniconda3 to my PATH environment variable。我以前没勾,结果打开命令行敲 conda 找不到,又重新配环境变量,烦.
基本配置:初始化与环境变量
安装完第一件事:让 shell 认得 conda 命令。
# 如果安装时选了“yes”,这条实际上已执行过
conda init
# 手动重载配置
source ~/.bashrc
# 验证
conda --version
你会看到类似 conda 24.1.0 的输出。嗯,这就成了。
配置 channels(软件源)
Conda 默认从官方源下载包,但国内速度慢。我一般加两个国内镜像:
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,再找主渠道。很多 bioinfo 工具只在 conda-forge 有。
conda config --add channels conda-forge
conda config --set channel_priority flexible
设置代理(如果需要)
我在内网环境吃过亏。千万注意,conda 默认不读系统代理变量,得手动指定:
conda config --set proxy_servers.http http://your-proxy:8080
conda config --set proxy_servers.https http://your-proxy:8080
如果你用环境变量,也可以写进 .bashrc:
export HTTP_PROXY=http://your-proxy:8080
export HTTPS_PROXY=http://your-proxy:8080
验证安装与常用命令速览
装好了,咱们跑几个命令确认下:
# 查看 conda 版本
conda --version
# 查看已安装的包
conda list
# 创建测试环境
conda create -n test_env python=3.9
# 激活环境
conda activate test_env
# 退出环境
conda deactivate
# 删除环境
conda env remove -n test_env
如果你看到 conda: command not found,八成是 shell 初始化没生效。检查 .bashrc 末尾有没有:
__conda_setup="$('/home/yourname/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/yourname/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/yourname/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/yourname/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
没有的话手动贴进去,source ~/.bashrc 即可。
知识体系:安装与配置全流程图
避坑指南:我遇到过的配置陷阱
- PATH 被覆盖:conda init 会自动调整 PATH 顺序。如果你自己又在 .bashrc 里写了
export PATH=...:$PATH,可能把 conda 排到后面。我一般在 conda 的初始化块之后再追加其他路径。 - cache 占用过大:conda 会把下载的 .tar.bz2 包缓存到 pkgs 目录,用久了能到几个 GB。定期跑
conda clean --all清理。 - Python 版本冲突:base 环境不要动。创建新环境时指定 Python 版本,避免 base 污染。
- conda init 对 zsh 的影响:我切到 zsh 后忘了重跑
conda init zsh,导致终端打开慢。后来发现是 conda 初始化脚本重复了。记得只用一次。
conda update conda 升级到最新版。新版 conda 在依赖解析和速度上提升明显,特别是 23.10 之后的 mamba 兼容体验。
基础夯实了,后面就可以用 conda 创建 Cromwell 需要的运行时环境了。记住:Conda 是你的软件包工厂,Cromwell 是调度平台。工厂运转正常,调度才能流畅。