首页 > 解决方案 > conda --from-history 和 --no-build 不能一起工作

问题描述

我想在创建时删除构建 ID,environment.yml但还要从历史记录中生成文件,因此包更少。然而

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

仍然返回每个包的构建 ID。还有其他方法吗?

我正在使用最新的 4.9.2 conda。

标签: pythonconda

解决方案


从 Conda v4.9 开始,不,这两个标志不能一起工作。该--from-history标志将仅触发输出的显式规范,并且这些规范会下降到用户最初指定的任何详细级别(可以是版本、通道、构建、子目录等)。

之后您可能只需要将其剥离即可。例如,

conda env export --from-history | sed -E 's/(=[^=]+)=[^=]+$/\1/'

这应该只剥离构建,而不是版本。但是,它可能会错过该部分的一些边缘情况pip:

或者,您可能对相关问题感兴趣,即导出具有最小化需求的 Conda 环境,关于导出最小化的一组需求(即,基于依赖关系图,而不是用户历史,它仍然可以有冗余)。


推荐阅读