首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Conda environment.yaml中设置environment.yaml

在Conda environment.yaml中设置environment.yaml
EN

Stack Overflow用户
提问于 2019-10-25 09:03:47
回答 4查看 6.3K关注 0票数 15

在使用yaml文件创建环境时,可以将channel_priority设置为strict吗?例如:

代码语言:javascript
运行
复制
name: my_environment
channels:
  - conda-forge
dependencies:
  - python
  - geopandas
  - rasterio
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-01-31 19:20:29

另一个注意事项是,给定包的指定通道不需要在channels部分中列出。我发现这更安全,因为它不冒险(重新)从意想不到的渠道安装其他软件包。

因此,例如:

代码语言:javascript
运行
复制
channels:
  - defaults

dependencies:
  - python =3.8
  - ...
  # specifically from conda-forge (but only those):
  - conda-forge::nbsphinx

而不是:

代码语言:javascript
运行
复制
# NO!
channels:
  - defaults
  - conda-forge

dependencies:
  - python =3.8
  - ...
  - conda-forge::nbsphinx

重要的是,这似乎只安装--只安装来自conda-forge的指定包,并且它没有尝试(重新)安装位于这些包的依赖关系图中的软件包的conda-forge版本,但是已经可以从pkgs/main获得(可能是稍微不那么尖端的版本)。

票数 11
EN

Stack Overflow用户

发布于 2019-12-18 10:44:09

多亏了梅尔夫

解决办法是为每个包指定通道:

代码语言:javascript
运行
复制
name: my_environment
channels:
  - conda-forge
dependencies:
  - conda-forge::python
  - conda-forge::geopandas
  - conda-forge::rasterio
票数 9
EN

Stack Overflow用户

发布于 2021-01-13 06:58:48

一种简单的方法是首先创建空环境并将通道优先级设置为严格,然后从spec文件中安装包:

代码语言:javascript
运行
复制
conda create new_env
conda activate new_env
conda config --env --add channels conda-forge
conda config --env --set channel_priority strict
conda env update --name new_env --file env.yml 

注意:如果使用.txt规范文件而不是.yml,那么用

代码语言:javascript
运行
复制
conda install --name new_env --file env.txt

参考文档:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#id13

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58555389

复制
相关文章

相似问题

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