[conda 环境导出依赖]

推荐方式

  • 使用 conda 导出完整环境到 environment.yml(含 conda 和 pip 依赖)。
  • 如只要“显式安装过的包”(更精简),用 --from-history。
  • 如果你偏好 requirements.txt 风格,使用 pip freeze 导出当前环境的 pip 包。

常用命令

  • 查看当前环境名称

    • 查看已激活环境:echo $CONDA_DEFAULT_ENV
    • 列出所有环境:conda info --envs
  • 导出完整环境(含版本、渠道)

    conda env export --no-builds > environment.yml
    
  • 只导出你手动安装过的包(不含依赖链,更精简)

    conda env export --from-history > environment-min.yml
    
  • 仅导出 conda 包为 requirements 风格(不含 pip 包)

    conda list --export > conda-requirements.txt
    
  • 导出 pip 包为 requirements.txt(需在当前 conda 环境内)

    pip freeze > requirements.txt
    

差异说明

  • environment.yml
    • 可跨平台复刻 conda 环境,支持同时包含 conda 与 pip 依赖(pip 依赖会在 YAML 的 pip: 小节里)。
    • 建议使用 --no-builds 避免平台相关的 build 字符串。
  • --from-history
    • 只记录你显式安装的包,适合作为“项目声明的依赖清单”;安装时由解算器推导依赖版本。
  • conda list --export
    • 类似 requirements.txt,但只包含通过 conda 安装的包,不含 pip。
  • pip freeze
    • 仅列出当前环境的 pip 包;如果你的环境里既有 conda 也有 pip,建议同时保留 environment.yml 和 requirements.txt。

复用与还原

  • 用 environment.yml 创建新环境

    conda env create -f environment.yml
    
  • 更新已有环境

    conda env update -f environment.yml --prune
    
  • 用 requirements.txt 安装 pip 依赖(已激活对应 conda 环境后)

    pip install -r requirements.txt
    

小贴士

  • 确认在目标 conda 环境里运行 pip(避免装到 base):

    which python
    which pip
    

    路径应指向你当前环境的 bin。

  • 你项目中用到的包包括 numpy、matplotlib、pandas、mplfinance 等;若它们是通过 pip 安装,pip freeze 会把它们写入 requirements.txt;若通过 conda 安装,请使用 environment.yml 或 conda list --export。

posted @ 2026-01-12 16:58  十三山入秋  阅读(10)  评论(0)    收藏  举报