Conda 环境管理器安装教程

Conda 环境管理器安装教程

Conda 包管理器安装教程,涵盖 Anaconda、Miniconda、Miniforge 的选择及 Windows、macOS、Linux 平台的详细安装步骤与常见问题解决方案

#Conda 简介

生信领域的软件环境配置一直面临诸多挑战——不同工具要求不同版本的 Python、R 或其他依赖库,极易产生冲突,但 Conda 的出现彻底改变了这一现状。

Conda 是一个开源的 包管理器和环境管理器,最初由 Anaconda 公司开发,它可以在同一台机器上安装多个版本的软件包及其依赖,并在不同的环境之间自由切换。

Conda 生态示意图
图 1.1 Conda 生态示意图

用一个实际场景说明,假设你需要同时使用不同版本的 Python 和第三方库:

  • 虚拟环境 01 需要 Python 2.7、Pandas 1.0.1 和 PySpark 2.4.8
  • 虚拟环境 02 需要 Python 3.6、Pandas 1.3.5 和 Matplotlib 3.5.1
  • 虚拟环境 03 需要 Python 3.10、Numpy 1.23.1 和 Matplotlib 3.5.2

在传统的 pip 环境中,这是很难实现的——同一台机器上通常只能维护一个全局的 Python 版本和一套库版本,容易出现版本冲突。

而 Conda 可以轻松解决这个问题,通过创建多个独立的虚拟环境,每个环境都可以拥有完全不同的 Python 版本和包版本:

终端
# 为项目01创建环境(Python 2.7 + Pandas 1.0.1 + PySpark 2.4.8)
conda create -n env01 python=2.7 pandas=1.0.1 pyspark=2.4.8
# 为项目02创建环境(Python 3.6 + Pandas 1.3.5 + Matplotlib 3.5.1)
conda create -n env02 python=3.6 pandas=1.3.5 matplotlib=3.5.1
# 为项目03创建环境(Python 3.10 + Numpy 1.23.1 + Matplotlib 3.5.2)
conda create -n env03 python=3.10 numpy=1.23.1 matplotlib=3.5.2
Conda 环境隔离示意图
图 1.2 Conda 环境隔离示意图
IMPORTANT

Conda 的核心价值:将不同环境完全隔离,互不干扰。

#Conda 在生信领域的优势

Conda 对通用开发者有益,而在生信领域几乎成为标配,其优势体现在以下方面:

处理复杂的软件依赖

生信工具的依赖链条往往高度复杂,一个标准的转录组分析流程可能涉及:

  • Python 科学计算栈(NumPy、Pandas、SciPy 等)
  • R 及 Bioconductor 包
  • C/C++ 编译的底层工具(如 SAMtools、BCFtools、HISAT2)
Python 科学生态
图 2.1 Python 科学生态
WARNING

传统包管理器(pip、CRAN 等)难以统一管理多语言、多版本依赖。Conda 能在单一隔离环境中一次性解析大部分依赖,大幅降低配置难度和冲突风险。

支持跨平台可复现协作

生信研究通常涉及多平台协作(Linux、macOS、Windows),传统配置常导致「在我机器上可运行,在他人机器上失败」的问题。

Conda 通过环境导出与重建实现高度可复现:

终端
# 导出当前环境规格
conda env export --from-history > environment.yml
# 在另一台机器上重建环境
conda env create -f environment.yml
多平台支持:Linux、macOS、Windows
图 2.2 多平台支持:Linux、macOS、Windows
NOTE

结合容器技术(如 Docker、Singularity),可进一步提升大规模计算的可移植性。

Bioconda 频道的便利

Bioconda 是专为生物信息学打造的 Conda 频道,目前收录超过 8000 个生信相关软件,覆盖基因组学、转录组学、蛋白质组学、系统发育分析等多个领域。

Bioconda
图 2.3 Bioconda

使用 Bioconda 安装工具极为简便,无需手动编译和处理底层依赖:

终端
# 传统编译安装(复杂且易出错)
wget ... && ./configure && make && make install
# Bioconda 一行命令安装
conda install -c bioconda -c conda-forge <tool_name>

#Conda 发行版选择

Conda 提供多种安装选项:Anaconda、Miniconda 和 Miniforge。其中,Miniforge 因其轻量级、高性能和完全开源的特点,在生物信息学领域已成为优先选择。

Conda 发行版关系图
图 3.1 Conda 发行版关系图

Anaconda

预装了 150 多个常用数据科学包,包括 NumPy、Pandas、Matplotlib、Jupyter Notebook 等,开箱即用。默认使用 Anaconda 官方维护的 defaults 频道。

Anaconda
图 3.2 Anaconda
TIP

适合数据科学初学者或希望快速搭建完整数据科学环境的入门用户。但需注意 Anaconda 公司的许可条款,在机构研究或生产环境中可能存在使用限制。

Miniconda

仅包含 Python 解释器和 Conda 包管理器,其他软件包可按需安装,默认同样使用 defaults 频道。

Miniconda
图 3.3 Miniconda
TIP

适合有一定经验、希望自行定制环境的开发者。近年来,许多科研机构为规避商业许可限制,已逐渐转向社区维护的版本。

Miniforge

最轻量的发行版,仅包含 Conda、微型 Python 和内置的 mamba(求解器速度比传统 conda 快 5–10 倍)。默认使用社区驱动的 conda-forge 频道,包更新及时且完全开源。

conda-forge
图 3.4 conda-forge
TIP

特别适合生物信息学研究者、需要快速安装和获取最新软件包的用户,以及希望完全避免商业许可限制的场景。在高性能计算(HPC)和服务器环境中优势明显。

特性AnacondaMinicondaMiniforge
大小~3-5 GB~400-600 MB~50-120 MB
默认频道defaultsdefaultsconda-forge
预装软件150+ 包仅 Python仅 Python
Mamba 支持需手动安装需手动安装内置
开源性商业维护商业维护社区维护

#安装步骤

Conda 的三个主要发行版均可从官方渠道下载最新版本 1:

本文以 Miniforge 为例,涵盖 Windows、macOS 和 Linux 三大平台。

Conda 下载页面
图 4.1 Conda 下载页面

使用 exe 安装程序安装

  1. 下载安装包

    访问 docs.conda.io,下载最新版本的 Miniforge3-Windows-x86_64.exe

  2. 运行安装程序

    双击下载的 .exe 文件,按照安装向导完成安装:

    • 选择 「Just for me」(单用户) Miniforge 安装步骤1:选择安装范围

    • 选择 C 盘或 D 盘下不包含中文、空格或特殊字符的路径(推荐使用默认路径或类似 D:\Miniforge3) Miniforge 安装步骤2:选择安装路径

    • 四个选项从上到下分别是:

      • 创建快捷方式,方便以后在桌面开始菜单快速打开 Miniforge Prompt(必勾选)
      • 将 Miniforge 添加到系统 PATH 环境变量,允许你直接在终端(CMD 或者 PowerShell)中直接使用 conda 命令,无需使用 Miniforge Prompt(如果你已经在系统安装过 Python 发行版,则不建议勾选,直接使用 Miniforge Prompt)
      • 将 Miniforge 注册为系统默认的 Python,在 IDE 或代码编辑器中优先使用 Miniforge 中 base 环境自带的 Python 解释器(如果你主要使用 Miniforge 开发且没有其他 Python 环境,可勾选)
      • 安装完成后清除包缓存(必勾选)
      Miniforge 安装步骤3:安装选项
      图 4.2 Miniforge 安装步骤3:安装选项
    • 安装完成后,点击 Finish 即可 Miniforge 安装步骤4:安装完成

Conda 初始化设置(使用 Miniforge Prompt 则无需此步)

  1. 打开 CMD 或者 PowerShell

    • 按快捷键 Win + R
    • 输入 cmd 或者 powershell 运行对话框
  2. 初始化 Conda

    • 在 cmd 或者 powershell 中输入:
    conda init
    Conda 初始化
    图 4.3 Conda 初始化

#安装后验证

安装完成后,需要确认一切正常工作。

验证 Conda 和 Mamba 版本

conda --version
mamba --version
NOTE

应该显示类似 conda 26.x.x 和 mamba 2.5.0 的版本号。

查看详细配置信息

conda info

这个命令会显示 Conda 和 Mamba 的完整配置信息。重点关注:

  • active env location:你的 Conda 安装路径
  • channel URLs:已配置的频道,应该包含 conda-forge
点击展开 — conda info 输出示例
# Conda 的配置信息:
active environment : base
active env location : /home/linlinli/miniforge3
shell level : 1
user config file : /home/linlinli/.condarc
populated config files : /home/linlinli/miniforge3/.condarc
conda version : 26.1.1
conda-build version : not installed
python version : 3.13.12.final.0
solver : libmamba (default)
virtual packages : __archspec=1=skylake
__conda=26.1.1=0
__glibc=2.39=0
__linux=6.17.0=0
__unix=0=0
base environment : /home/linlinli/miniforge3 (writable)
conda av data dir : /home/linlinli/miniforge3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
package cache : /home/linlinli/miniforge3/pkgs
/home/linlinli/.conda/pkgs
envs directories : /home/linlinli/miniforge3/envs
/home/linlinli/.conda/envs
temporary directory : /tmp
platform : linux-64
user-agent : conda/26.1.1 requests/2.32.5 CPython/3.13.12 Linux/6.17.0-20-generic ubuntu/24.04.4 glibc/2.39 solver/libmamba conda-libmamba-solver/25.11.0 libmambapy/2.5.0
UID:GID : 1000:1000
netrc file : None
offline mode : False
# Mamba 的配置信息:
libmamba version : 2.5.0
mamba version : 2.5.0
curl version : libcurl/8.19.0 OpenSSL/3.6.1 zlib/1.3.2 zstd/1.5.7 libssh2/1.11.1 nghttp2/1.68.1 mit-krb5/1.22.2
libarchive version : libarchive 3.8.6 zlib/1.3.2 liblzma/5.8.2 bz2lib/1.0.8 liblz4/1.10.0 libzstd/1.5.7 liblzo2/2.10 openssl/3.5.5 libb2/bundled
envs directories : /home/linlinli/miniforge3/envs
package cache : /home/linlinli/miniforge3/pkgs
/home/linlinli/.mamba/pkgs
environment : base (active)
env location : /home/linlinli/miniforge3
user config files : /home/linlinli/.mambarc
populated config files : /home/linlinli/miniforge3/.condarc
virtual packages : __unix=0=0
__linux=6.17.0=0
__glibc=2.39=0
__archspec=1=x86_64_v3
channels : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
base environment : /home/linlinli/miniforge3
platform : linux-64

配置 Conda 软件源

在使用 Conda 安装生物信息学工具时,正确配置软件源(channels)非常重要,以确保软件包能快速、稳定地下载,并避免依赖冲突。

  • ① 官方源版本:
终端
# 添加 channels
conda config --add channels bioconda
conda config --prepend channels conda-forge
# 启用严格通道优先级
conda config --set channel_priority strict
# 查看当前配置
conda config --show channels
  • ② 镜像源版本:
终端
# 删除原本的官方源
conda config --remove channels conda-forge
# 添加 bioconda 清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
# 添加 conda-forge 清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 启用严格通道优先级
conda config --set channel_priority strict
# 下载时显示实际的通道地址
conda config --set show_channel_urls yes

配置后的 channels 显示效果(官方源示例):

Conda 频道配置效果
图 5.1 Conda 频道配置效果
IMPORTANT

channels 的顺序应确保 conda-forge 在 bioconda 之前:

  • conda-forge:大多数依赖项(NumPy、SciPy、zlib、CRAN 包等)
  • bioconda:大多数生物信息学软件包(salmon、STAR、samtools、DESeq2 等)
Conda 频道优先级示意
图 5.2 Conda 频道优先级示意

参考资料

  1. Miniforge Releases — 各发行版的官方下载入口,最新版本以页面为准。 ↩

版权许可

本文基于 CC BY-NC-SA 4.0 发布,转载需署名且不可用于商业目的。

分享此文

系列文章

查看全部
01

Conda 环境管理器安装教程

当前