首页 > 解决方案 > 显示 conda 托管环境的顶级依赖项

问题描述

举个例子,如果我创建了一个新环境。

conda install python
conda create --name foo_environment
conda activate foo_environment
conda install python
conda install jupyter
conda env export > environment.yml

很明显,在这种情况下,这个环境中只添加了两个顶级依赖项:python 和 Jupiter。

我知道我们可以根据共享环境导出依赖项

conda env export > environment.yml

但是看看它有多冗长。

name: foo_environment
channels:
  - defaults
  - conda-forge
dependencies:
  - appnope=0.1.0=py37_0
  - attrs=19.1.0=py37_1
  - backcall=0.1.0=py37_0
  - bleach=3.1.0=py37_0
  - ca-certificates=2019.5.15=0
  - certifi=2019.3.9=py37_0
  - dbus=1.13.6=h90a0687_0

...and 70 more lines here. 

有没有办法只导出顶级依赖项?我知道我可以像下面这样手动创建 yml 文件。但是手动操作有点烦人。有什么方法可以自动导出顶级依赖项?

name: foo_environment
channels:
  - defaults
  - conda-forge
dependencies:
  - python=3.7.3
  - jupyter=1.0.0

标签: pythonconda

解决方案


您可以使用一个标志--from-history,它只会显示已显式安装的软件包,并且应该为您提供您想要的:

conda env export --from-history > environment.yml

推荐阅读