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 项目中最常见的环境管理方案。

相关推荐
THe CHallEnge of THe BrAve3 天前
conda虚拟环境打包离线迁移
conda
basketball6168 天前
AI Infra 配置 Conda + CUDA + LibTorch + PyTorch 开发环境:解决版本漂移、编译报错的完整指南
人工智能·pytorch·conda·libtorch
公爵爱学习8 天前
无人机视觉识别前序-Linux-YOLO安装
python·yolo·计算机视觉·conda·无人机
长江后浪博客16 天前
Conda环境下测试Intel NPU:Python版本如何选择?
开发语言·python·conda·openvino·intel npu
伞伞悦读19 天前
【第12期】Windows 开发环境备份与恢复:软件、环境变量、Git、conda 和 Docker 卷完整方案
git·docker·conda
cooldream200920 天前
Conda 镜像源 404 错误完全解决指南
conda·ai编程
CODER030421 天前
本地部署语音识别框架FunAudioLLM——Fun-ASR-Nano-2512模型
人工智能·conda·语音识别·audiolm
zhou1352848226721 天前
Anaconda Distribution 安装使用文档与 Conda 常用命令详解
conda
kaixin_啊啊22 天前
conda环境迁移
conda
小桥流水---人工智能22 天前
Conda环境创建成功但CMD无法正确激活:为什么出现 `(pytorchgpu)` 仍可能是“假激活”?
conda