Conda 环境依赖导出指南:四种常用方法总结

Conda 环境依赖导出指南:四种常用方法总结

在团队协作、项目部署或开源项目中,经常需要把当前开发环境分享给别人。对于 AI 项目来说,环境配置往往比代码更容易出问题,因此学会正确导出依赖非常重要。

本文总结几种常用的 Conda 环境导出方式,以及不同场景下应该如何选择。


一、导出完整 Conda 环境(推荐)

这是 Conda 官方推荐的方式,也是最适合团队协作和服务器部署的方法。

导出

先进入需要导出的环境:

bash 复制代码
conda activate your_env

然后执行:

bash 复制代码
conda env export --no-builds > environment.yml

例如:

bash 复制代码
conda activate ai-service

conda env export --no-builds > environment.yml

生成的 environment.yml 大致如下:

yaml 复制代码
name: ai-service

channels:
  - defaults

dependencies:
  - python=3.11
  - numpy
  - pytorch
  - pip
  - pip:
      - fastapi==0.116.0
      - langchain==0.3.0
      - openai==1.100.0

恢复环境:

bash 复制代码
conda env create -f environment.yml

如果环境已经存在,可以更新:

bash 复制代码
conda env update -f environment.yml

为什么推荐使用 --no-builds

如果直接执行:

bash 复制代码
conda env export

生成的文件通常会包含大量 Build 信息,例如:

yaml 复制代码
numpy=2.1.3=py311h...

甚至还会包含本机路径:

yaml 复制代码
prefix: C:\Users\xxx\miniconda3\envs\ai-service

这些信息对于别人来说没有意义,还可能导致跨平台恢复失败。

因此推荐使用:

bash 复制代码
conda env export --no-builds

它会保留版本号,但去掉 Build 信息,更适合部署和团队协作。


二、只导出自己安装的 Conda 包

如果想导出一个更加简洁的环境,可以使用:

bash 复制代码
conda env export --from-history > environment.yml

例如:

yaml 复制代码
dependencies:
  - python=3.11
  - pytorch
  - fastapi

它不会导出 Conda 自动安装的大量依赖。

这种方式更适合:

  • 开源项目
  • GitHub 项目
  • 教程示例

不过需要注意:

由于没有导出所有依赖,不同平台恢复出来的环境可能存在一定差异。


三、导出 pip 依赖

很多 AI 项目除了 Conda 包之外,还安装了大量 pip 包。

例如:

  • FastAPI
  • LangChain
  • Transformers
  • OpenAI SDK
  • Sentence Transformers

可以使用:

bash 复制代码
pip freeze > requirements.txt

生成:

text 复制代码
fastapi==0.116.0
langchain==0.3.0
openai==1.100.0
transformers==4.55.0
sentence-transformers==5.0.0

恢复依赖:

bash 复制代码
pip install -r requirements.txt

查看当前 pip 安装了哪些库

bash 复制代码
pip list

例如:

text 复制代码
Package      Version
------------ -------
fastapi      0.116.0
langchain    0.3.0
openai       1.100.0

四、导出 Conda 包列表

还可以直接导出 Conda 包列表:

bash 复制代码
conda list --export > package-list.txt

生成:

text 复制代码
numpy=2.1.3
python=3.11.8
pytorch=2.7.0

恢复:

bash 复制代码
conda install --file package-list.txt

这种方式使用较少,一般更推荐使用 environment.yml


五、查看当前环境信息

查看所有环境

bash 复制代码
conda env list

例如:

text 复制代码
base
ai-service *
test

* 表示当前激活的环境。


查看当前环境安装的 Conda 包

bash 复制代码
conda list

查看当前环境安装的 pip 包

bash 复制代码
pip list

六、AI 项目推荐的导出方式

大多数 AI 项目都会同时使用 Conda 和 pip。

例如:

复制代码
Conda
├── Python
├── PyTorch
├── CUDA
├── NumPy
└── SciPy

pip
├── FastAPI
├── LangChain
├── OpenAI
├── Transformers
├── Sentence Transformers
└── Uvicorn

推荐导出:

bash 复制代码
conda env export --no-builds > environment.yml

生成的文件会自动包含 pip 安装的依赖,例如:

yaml 复制代码
dependencies:
  - python=3.11
  - pytorch
  - pip
  - pip:
      - fastapi==0.116.0
      - langchain==0.3.0
      - openai==1.100.0

恢复时:

bash 复制代码
conda env create -f environment.yml

Conda 会先安装 Conda 包,再自动安装 pip 部分的依赖。


七、项目中建议保留哪些文件

推荐每个 Python/AI 项目至少保留下面三个文件:

text 复制代码
project/
├── environment.yml
├── requirements.txt
└── README.md

其中:

  • environment.yml:保存 Conda 环境(Python、PyTorch、CUDA 等)
  • requirements.txt:保存 pip 安装的第三方库
  • README.md:记录环境创建、项目启动和运行方式

这样无论是团队协作、服务器部署,还是后续维护,都能够快速恢复开发环境。


八、常用命令汇总

功能 命令
导出完整 Conda 环境 conda env export --no-builds > environment.yml
导出手动安装的 Conda 包 conda env export --from-history > environment.yml
导出 pip 依赖 pip freeze > requirements.txt
查看 Conda 包 conda list
查看 pip 包 pip list
查看所有环境 conda env list
导出 Conda 包列表 conda list --export > package-list.txt
创建 Conda 环境 conda env create -f environment.yml
更新 Conda 环境 conda env update -f environment.yml
安装 pip 依赖 pip install -r requirements.txt

总结

对于大多数 AI 项目,推荐采用以下组合:

  1. 使用 conda env export --no-builds 导出完整 Conda 环境。
  2. 使用 pip freeze 导出 pip 依赖。
  3. environment.ymlrequirements.txtREADME.md 一起提交到项目仓库。

这种方式兼顾了环境的完整性、可移植性和团队协作效率,也是目前 Python 和 AI 项目中最常见的环境管理方案。

相关推荐
QH_ShareHub13 小时前
GPU 完整运行过程:驱动、CUDA Toolkit、Conda、Python PyTorch 与 R torch
pytorch·python·conda
liang89993 天前
Anconda常用命令
linux·人工智能·conda
齐昭王城4 天前
Conda 环境一键搬家:用 conda-pack 打包带走,连网都不用
conda
HAPPY酷8 天前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
Dxy12393102169 天前
如何使用Conda国内源安装虚拟环境(保姆级全平台教程)
conda
码上暴富9 天前
Conda从入门到精通的环境管理实战
conda
xin_yao_xin10 天前
Conda 环境的 CUDA PATH 配置指南
开发语言·python·conda·cuda
砍材农夫1 个月前
python环境|conda安装和使用(1)
开发语言·后端·python·conda
匆匆整棹还1 个月前
mamba的安装和版本对应
conda