直接运行 conda list 是查看当前激活环境中所有已安装包的最快最权威方式,输出包含包名、版本、构建号和来源通道四列,能准确反映含二进制依赖的包(如 pytorch、numpy)的真实状态,且支持通过 -n 参数查指定环境、管道过滤关键词、--json 导出结构化数据。

直接运行 conda list 就能看到当前激活环境中所有已安装的包及其版本、构建号和来源通道。 这是最快、最权威的方式,比 pip list 更能反映 Conda 环境的真实状态,尤其对 PyTorch、NumPy 这类带二进制依赖的包更可靠。
conda list 默认行为:只显示当前激活环境
它不会自动扫描 base 或其他未激活的环境。如果你没手动激活过任何环境,那默认就是 base 环境;如果执行过 conda activate myenv,那输出的就是 myenv 里的包。
- 输出包含四列:
Name(包名)、Version(版本号)、Build(构建字符串,比如py39h4d9c662_0)、Channel(来源,如pytorch或conda-forge) - 如果你混用了
pip install,这些包也会出现,但 Channel 列会标为pypi或<pip></pip>,注意这不是 Conda 原生管理的,后续更新/导出时可能不一致 - 不加参数时,列表按包名字母排序,但不会隐藏 dev 版本或 pre-release 包——这点和
pip list不同
查看指定环境(不激活也能查)
想确认某个环境里到底装了什么,又不想切换过去?用 -n 参数:
conda list -n pytorch
这比先 conda activate pytorch 再 conda list 更安全,避免误操作影响当前工作流。
Miniconda py314_26.5.3-2 Linux x86_64 安装脚本,来自 Anaconda 官方 Miniconda 下载目录,适合服务器、工作站和容器环境配置轻量 Conda 与 Python。
-
-n后跟环境名,不是路径;环境名可用conda env list查看 - 如果环境名含空格或特殊字符(不推荐),需加引号,比如
conda list -n "my env" - 不能用相对路径或绝对路径代替环境名,
conda list -n /path/to/env会报错
快速筛选 PyTorch 相关组件
PyTorch 生态不是只有 torch 一个包,torchvision、torchaudio、pytorch-cuda 都得一起看,否则 torch.cuda.is_available() 可能返回 False。
- 直接搜关键词:
conda list torch,会匹配torch、torchvision、torchaudio、pytorch等所有含 “torch” 的包名 - 注意区分
pytorch(官方 channel)和pytorch-cuda(CUDA 工具包),后者缺失会导致 GPU 不可用 - 如果
Build列显示cpuonly或_cpu_,说明装的是 CPU 版;含cuda或_gpu_才是 GPU 版
导出结构化数据供脚本或 CI 使用
人工扫屏幕容易漏,自动化流程需要机器可读格式。加 --json 参数即可:
conda list --json
输出是标准 JSON 数组,每个元素是一个对象,含 name、version、channel、build_string 等字段。
- 这个 JSON 是 Conda 自己解析
conda-meta/下的元数据生成的,比解析conda list文本输出更稳定 - 注意:JSON 中不包含 pip 安装的包,它们被完全忽略——这是设计使然,不是 bug
- 若需完整依赖快照,建议组合使用:
conda list --json && pip list --format=json,再合并处理
真正容易被忽略的是 Build 字段:同一个 torch 2.0.1,py39h4d9c662_0 和 py39h6a4308_0 可能链接不同的 BLAS 或 CUDA 版本,导致行为差异。别只看版本号,构建字符串才是二进制兼容性的实际标识。










