3. Conda 基础命令:create, activate, deactivate, install, list, remove

好,咱们正式开始上手操作。这一章我会带你过一遍 Conda 最核心的几条命令。

我个人习惯把这组命令叫作“Conda 生存六式”。你想想看,不管是装软件、切环境还是删包,翻来覆去用的就是它们。记牢这六个动词,后面的 RNA-seq 分析环境搭建就不会卡壳。

3.1 创建环境:conda create

创建环境是所有操作的起点。命令非常简单:

conda create -n 环境名称 python=3.9

这里 -n 是 --name 的缩写,后面跟你想给环境起的名字。我给 RNA-seq 项目起名一般会带个版本号或日期,比如 rna_seq_2025。

创建时还能顺带指定 Python 版本和要安装的包:

conda create -n rna_seq_env python=3.9 fastqc trimmomatic

这样一条命令就能把环境、Python 版本和两个常用工具一次性搞定。

小建议:每次创建环境都明确指定 Python 版本。我曾经偷懒没写 python=3.x,结果 Conda 给我装了一个巨老的版本,后面的包全不兼容,白白折腾了半小时。

3.2 激活与停用环境

环境建好了,怎么进去?

conda activate rna_seq_env

你会发现终端提示符前面多了个 (rna_seq_env),说明你已经在环境里了。这个时候装的所有包,都只属于这个环境,不会污染系统 Python。

用完之后退出来:

conda deactivate

嗯,这里要注意一件事。我在给团队做培训时遇到过好几次——新手在激活环境后直接关终端,下次打开又忘了重新激活,结果报“找不到命令”。记住,每次开新终端都要先 conda activate 一次。

3.3 安装与查看包

在激活的环境里装包,用 conda install:

conda install numpy pandas

想装特定版本:

conda install numpy=1.21.0

装完之后怎么确认?conda list 会列出当前环境的所有包:

conda list

输出看起来像这样:

# packages in environment at /home/user/miniconda3/envs/rna_seq_env:
#
# Name                    Version                   Build  Channel
fastqc                    0.11.9               hdfd78af_1    bioconda
numpy                     1.21.0           py39h7f9e8a5_0    conda-forge
python                    3.9.13               h12debd9_0    conda-forge
trimmomatic               0.39                 hdfd78af_1    bioconda

这个表格非常有用。你能看到每个包的版本号、构建号,以及来自哪个频道(channel)。做 RNA-seq 分析时,我经常用 conda list 检查有没有装错版本。

避坑:千万别在 base 环境里猛装包。base 是 Conda 自己的家,搞乱了修复起来很麻烦。所有项目包都放到独立环境里装。

3.4 删除包与移除环境

装多了怎么办?删包用 conda remove:

conda remove numpy

如果整个环境都不想要了:

conda remove -n rna_seq_env --all

或者更直接的:

conda env remove -n rna_seq_env

这两条命令效果一样,都是把环境连根拔掉。操作前一定确认好环境名,删错就真没了。

3.5 命令对照表

下面这张表把六条命令的关键用法和常用参数列在一起,方便你快速查找:

命令 常用参数 示例 说明
conda create -n 环境名, python=版本 conda create -n test python=3.10 创建新环境,建议指定 Python 版本
conda activate 环境名 conda activate test 进入指定环境
conda deactivate 无参数 conda deactivate 退出当前环境,回到 base
conda install 包名=版本, -c 频道 conda install -c bioconda fastqc 安装指定包,可指定版本和频道
conda list -n 环境名 conda list -n test 列出环境所有包
conda remove 包名, -n 环境名, --all conda remove -n test --all 删除包或整个环境

核心要点:Conda 的六条命令构成了环境管理的完整闭环——create 建环境,activate/deactivate 切换与退出,install/remove 增删包,list 做审计。项目开发時我基本都是在这六个动作里来回转。

3.6 实战流程画布

下面这张 SVG 图把整个生命周期串了起来。你看着它,就能在脑子里把命令过一遍:

Conda 环境生命周期 conda create conda activate conda install conda list conda deactivate conda remove --all install 和 list 可并行执行

图里展示的就是一个完整环境从生到死的流程。你可以跟着箭头走一遍:创建 → 激活 → 装包/查看包 → 停用 → 删除。这套流程每次做新项目时都会用到,跑顺了之后闭着眼睛都能打出来。

我的经验:刚开始用 Conda 时,我总记不清 conda list 和 pip list 的区别。后来养成一个习惯——每次装完包后跑一次 conda list 确认版本,这个习惯帮我避了好几次版本冲突的坑。