1. Conda 基础:Conda 是什么?Anaconda 与 Miniconda 的区别与选择
今天聊一个几乎所有数据科学和生物信息从业者都会遇到的问题:环境配置。说白了,就是一堆软件、库、依赖项挤在一起,你装这个版本它要那个版本,升级一个把另一个搞崩了。我刚开始做生物信息分析那会儿,装个单细胞测序工具链,整整折腾了两天,最后重装了系统。后来遇到 Conda,才算是彻底解放了。
1.1 Conda 是什么?
Conda 是一个开源的包管理系统和环境管理系统。简单说,它帮你做两件事:装软件包,以及管理互不干扰的独立运行环境。
你可能会问:我直接用 pip 不也能装包吗?为什么还要 Conda?
这个问题我当初也问过。两者的定位不同。——pip 是 Python 专属的包管理器,它只管 Python 包;而 Conda 是语言无关的环境管理工具,它不仅能装 Python 包,还能装 R 包、C/C++ 库、甚至整个工具链(比如 Visium 数据分析需要的各种二进制工具)。你觉得,哪个更适合做全栈分析环境管理?显然是 Conda。
Conda 的核心能力
- 环境隔离:每个环境有独立的 Python 版本、库版本、系统依赖,互不污染
- 跨语言支持:Python、R、Ruby、Lua、C、C++……
- 非管理员安装:不需要 root 权限,普通用户就能装
- 多版本并存:同一个系统上可以同时跑 Python 2.7 和 Python 3.10 的环境
- 二进制分发:预编译好的二进制包,免去编译烦恼
我个人建议,做生物信息分析尤其是空间转录组(Visium)这类工具链比较复杂的工作时,优先选 Conda。很多底层依赖(比如 spapa、libtiff)用 pip 装起来真的很痛苦。
1.2 Anaconda vs Miniconda:有什么区别?
每次我讲这个,总有人问:“我到底该装哪个?”
先看张表,你心里就有数了。
| 特性 | Anaconda | Miniconda |
|---|---|---|
| 包管理 | 自带 1500+ 预装包 | 仅 conda + python + 必要依赖 |
| 安装包大小 | 约 3-5 GB | 约 50-100 MB |
| 安装时间 | 较慢(解压大量包) | 极快(1-2 分钟) |
| 适用人群 | 数据分析新手、想开箱即用的人 | 经验丰富的开发者、需要自定义环境的用户 |
| 灵活性 | 较低(太多预装包容易冲突) | 较高(按需安装,干净可控) |
| 磁盘占用 | 大 | 极小 |
我的建议是:大多数情况下选 Miniconda。
原因很简单——你不需要那些预装包。
以 Visium 工具链为例,你真正需要的无非是 space ranger、spaceranger、seurat、scanpy 等几个核心工具,外加一些数据处理库。Anaconda 给你塞了一堆你永远用不上的包(比如 Dask、NetworkX、JupyterLab 全套),白白浪费磁盘和网络资源。更重要的是,预装包越多,解依赖时冲突的概率就越大。
一个小经验
我以前有个学生,直接装了 Anaconda 开始做 Visium 分析。做到一半发现自己的环境跟教程的环境不一致,找不到为什么。后来我让他重装 Miniconda,只装了教程里要求的几个包,问题立刻解决了。干净的环境,是调试的第一前提。
1.3 我该选哪个?一张流程图帮你决定
下面这张图总结了我个人的选择逻辑。你可以根据自己情况快速判断。
1.4 安装流程(极简版)
我假设你决定用 Miniconda。这里有个标准安装流程,我也遇到过一些坑,一并写下来。
- 下载安装包
去官方地址下载对应系统的 Miniconda3 最新版。
Linux 用户选 .sh 文件,Windows 用户选 .exe,macOS 用户注意芯片类型(Intel vs Apple Silicon)。 - 执行安装
Linux/macOS 终端执行:
一直回车,最后输入 yes 接受协议,再输入 yes 确认初始化环境变量。bash Miniconda3-latest-Linux-x86_64.sh - 验证安装
新终端窗口运行:
如果能正常输出版本号(比如 conda 24.1.0),就说明装好了。conda --version - 配置镜像源(国内用户必做)
我当初因为网络慢吃过不少亏。建议换成国内镜像,下载速度快很多。
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 命令?——检查是否执行了
source ~/.bashrc(Linux/macOS)或重启终端。 - 镜像源配置后提示 404?——检查 URL 是否正确,部分镜像源可能会更新路径。
- 我曾经在一次服务器部署中,因为没配置镜像源,下载了个 600MB 的包花了 40 分钟……换成镜像后 2 分钟搞定。
1.5 你需要记住的三个基础命令
在进入 Visium 实战之前,这三条命令能帮你处理 90% 的日常操作。
- 创建环境:
conda create -n 环境名称 python=3.10
注意:给环境起个好记的名字,比如 visium_env,别叫 test 或 new 这种容易弄混的名字。 - 激活环境:
conda activate 环境名称
激活后你的命令行最前面会出现(环境名称),代表你当前在这个环境里。 - 安装包:
conda install 包名
或者指定渠道:conda install -c bioconda spaceranger
一个小提醒
我习惯在创建环境时直接指定 Python 版本,比如 python=3.10。这样能避免后面因为版本不匹配而出现奇怪的问题。Visium 的工具链目前对 Python 3.8-3.10 兼容性最好,不建议用 3.11 以上。