首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >conda环境与渠道

conda环境与渠道
EN

Stack Overflow用户
提问于 2022-02-20 19:27:32
回答 1查看 753关注 0票数 0

根据文档,如果我用

代码语言:javascript
复制
 conda env export > file.yml

我能够和其他人分享环境。为了获得更好的跨平台兼容性,更好的方法是:

代码语言:javascript
复制
conda env export --from-history > file.yml

只列出显式请求的包(而不是它们相关的依赖项)。

这就是我所做的,我用第二个命令创建了一个需求yml文件。下面是:

代码语言:javascript
复制
name: torch
channels:
  - defaults
dependencies:
  - python=3.8
  - humanize
  - nltk
  - pandas
  - lxml
  - numpy
  - bs4
  - fire
  - neptune-client
  - tqdm
  - pyyaml
  - torchaudio
  - pytorch
  - cudatoolkit=11.3
  - torchvision

在这些包中,有些是从通道conda-forge安装的:通道似乎在yaml文件中丢失。

实际上,如果我尝试使用该文件来克隆环境(同一台机器):

代码语言:javascript
复制
conda env create -n torch2 --file=file.yml

conda-forge安装的软件包(我显式地安装于conda- from -client和fire)得到了一个错误:

代码语言:javascript
复制
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound: 
  - torchaudio
  - neptune-client
  - fire

然而,似乎通道应该包括在yml中。例如,我读到的在这个github问题页面上

代码语言:javascript
复制
Currently, conda env export does include channels information.

这就结束了这个问题。

我遗漏了什么?

注:电筒安装时

代码语言:javascript
复制
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

从官方网页上。

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 05:54:23

我遗漏了什么?

文档是错误的,--或者是误导性的(最好的),当conda env export --from-history导出安装包的通道,甚至是任何通道的时候。这不是你得到的行为,也不是我自己得到的:

代码语言:javascript
复制
$ conda env export | head -n 8
name: smithy
channels:
- bioconda
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=1_gnu
$ conda env export --from-history | head -n 8
name: smithy
channels:
- defaults
dependencies:
- mamba
- constructor
- cookiecutter
- conda-build

请注意,conda env export确实包括通道信息,但是以一种高度固定的方式,这几乎保证不能跨平台工作。所以这对你的用例是行不通的。我不确定这是错误还是疏忽,但它显然没有为用户产生想要的结果。

现在给出一个关于如何进行的(固执己见)的建议:你最好的选择是自己半手动地管理一个YAML文件,并把它作为一个单一的真相来源。看起来您可以使用name: torch ...文件作为起点,在通道中添加一些其他细节。不要忘记,您可以使用channel::package语法la将单个包绑定到通道上。

代码语言:javascript
复制
name: torch
channels:
  - defaults
  - conda-forge
  - torch 
dependencies:
  - python=3.8
<SNIP>
  - pytorch::torchaudio
  - pytorch::pytorch
  - pytorch::cudatoolkit=11.3
  - pytorch::torchvision
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71197980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档