当前位置:首页>Linux>代码学习 | Linux | conda 环境管理一条龙

代码学习 | Linux | conda 环境管理一条龙

  • 2026-09-10 19:38:36
代码学习 | Linux | conda 环境管理一条龙

装生信软件最烦的就是依赖打架:这个工具要 samtools 1.9,那个非要 1.19,装着装着把 base 搞崩,重装 conda 的心都有了。其实办法很简单——别把所有东西堆在一个环境里,一个项目开一个独立 conda 环境,建好还能导出 yml 原样搬到别的机器。这一讲把 conda 日常会用到的命令一次理清:查看、建用、导出复现、删除清理、维护,照着改改就能套到自己的项目上。


为什么要管好环境

conda 环境的本质是给每个项目一个独立软件沙箱。把不同项目的依赖彻底隔开,是分析可复现的第一步。装生信工具记得同时挂 conda-forge 和 bioconda,绝大多数包都在这两个频道里。

核心命令速查

下面按「查看 / 建用 / 导出 / 删除清理 / 维护」分组,是 conda 日常的全部高频操作,按需复制:

#!/bin/bash# conda 环境管理常用命令速查,按需复制# ---- 查看 ----conda --version                                  # 看 conda 版本conda info                                       # 看配置概况conda env list                                   # 列出所有环境conda list                                       # 当前环境装了哪些包conda list | grep samtools                       # 查某个包装没装conda search -c bioconda samtools                # 搜频道里有哪些版本# ---- 建 / 用 ----conda create -n rnaseq python=3.10 -y            # 新建环境conda activate rnaseq                            # 激活conda deactivate                                 # 退出当前环境conda install -c bioconda -c conda-forge bwa hisat2 samtools -y   # 装包conda run -n rnaseq samtools --version           # 不激活,直接在某环境里跑命令# ---- 导出 / 复现 ----conda envexport --no-builds > rnaseq.yml        # 导出(跨平台加 --no-builds)conda env create -f rnaseq.yml                   # 从 yml 还原conda create -n rnaseq_bak --clone rnaseq -y     # 克隆一份# ---- 删 / 清理 ----conda env remove -n rnaseq_bak -y                # 删整个环境conda remove -n rnaseq samtools -y               # 只删某个包conda clean -a -y                                # 清缓存腾空间# ---- 维护 ----conda update -n base conda -y                    # 升级 conda 本身conda config --show channels                     # 看频道配置conda config --set channel_priority strict       # 开严格频道优先级

建环境务必带 -n 名字,别在 base 里装项目包;conda run -n 环境 命令 可以不激活直接调用。

示例的输出日志

挑几个只读命令跑一遍,确认 conda 可用、yml 合法(建/删环境有副作用,这里不实跑):

conda 25.1.1# conda environments:#base                   ~/anaconda3--- environment.yml 解析 ---env: rnaseqtools: 8--- 频道配置 ---channels:  - conda-forge  - bioconda  - defaultsOK

版本、环境列表、yml 解析、频道配置都正常——命令语法没问题,可放心照着建环境。

扩展:用 yml 一次装好整套

环境复杂时,与其一条条 install,不如写一份 environment.yml 一键装好:

name:rnaseqchannels:-conda-forge-biocondadependencies:-python=3.10-fastqc-multiqc-trim-galore-hisat2-samtools=1.19-subread-bcftools

存成 environment.yml 后 conda env create -f environment.yml,几分钟装好整套,换机器也靠它复现。

避坑指南

  • 解析卡很久 → 装 mamba 替代,快不少
  • 装包找不到 → 确认 channels 里有 bioconda 和 conda-forge
  • base 被装乱 → 项目包永远别装 base,单开环境
  • 磁盘吃紧 → conda clean -a 清缓存

📦 完整代码 + 测试数据下载
百度网盘链接:https://pan.baidu.com/s/1lrfipr_rmfEKr1fHK7UpKA?pwd=l01c
提取码:l01c(代码已实测可直接运行,建议保存到自己网盘)

最新文章

随机文章