节选自我的environment.yml
:
name: my-project
channels:
- pytorch-nightly
- defaults
dependencies:
- pytorch=1.13.0.*
- pip:
- https://github.com/explosion/spacy-models/releases/download/nb_core_news_md-3.3.0/nb_core_news_md-3.3.0-py3-none-any.whl
prefix: ~/opt/miniconda3/envs/my-project
当我创建环境(conda env create -f environment.yml
)并将其重新导出到environment.yml
(conda env export > environment.yml
)时,文件发生了更改:
name: my-project
channels:
- pytorch-nightly
- defaults
dependencies:
- pytorch=1.13.0.dev20220614=py3.9_0
- pip:
- nb-core-news-md==3.3.0
prefix: ~/opt/miniconda3/envs/my-project
然后,当我第二天重新创建我的环境时,Conda抱怨pytorch=1.13.0.dev20220614=py3.9_0
不存在,因为它被新的PyTorch预览(Nightly)构建所取代。dev20220614=py3.9_0
不再可用
Conda还抱怨nb-core-news-md==3.3.0
不存在。它是通过一个URL直接安装到whl
的。该URL已从environment.yml
.
如何防止conda env export
更改这两个依赖项?我仍然希望Conda锁定所有其他依赖项的细节,只是不包括这两个。
我明白PyTorch删除每日构建的原因,但这对你的工作流程来说有点破坏性。您所要求的内容无法用Conda CLI命令表示。相反,可以考虑导出常规的YAML,然后在重新创建环境之前运行一些sed
命令来替换特定的需求。