作为一个例子,如果我创建了一个新环境。
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
答案 0 :(得分:0)
目前无法使用conda
系统自动执行此操作。
在conda
的GitHub页面上有一个open issue,它探讨了类似的情况(对环境导出进行更精细的控制)。截至2019年6月18日,此问题已开放。
答案 1 :(得分:0)
有一个标记--from-history
可以使用,它将仅显示已明确安装的软件包,并应提供您想要的内容:
conda env export --from-history > environment.yml