显示conda托管环境的顶级依赖关系

时间:2019-06-13 16:25:28

标签: python 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。

我知道我们可以根据Sharing an environment

导出依赖项
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

2 个答案:

答案 0 :(得分:0)

目前无法使用conda系统自动执行此操作。

conda的GitHub页面上有一个open issue,它探讨了类似的情况(对环境导出进行更精细的控制)。截至2019年6月18日,此问题已开放。

答案 1 :(得分:0)

有一个标记--from-history可以使用,它将仅显示已明确安装的软件包,并应提供您想要的内容:

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