在 condaenvironment.yml文件中,有什么区别
channels:
- default
Run Code Online (Sandbox Code Playgroud)
和
channels:
- defaults
Run Code Online (Sandbox Code Playgroud)
或者defaultanddefaults只是同义词?
编辑:从我到目前为止的观察来看,应该使用defaults(s最后带有),不确定为什么 conda 允许default,但它似乎没有效果 - 就好像我根本没有指定任何通道一样。
是的,您是正确的,Conda 应该表现得好像您根本没有提供任何频道一样。然而,Conda 并不等同default于defaults.
除了在通道规范列表中显式提供 URL 之外,Conda 尝试从提供的字符串中推断出 URL,即
channels:
- default
Run Code Online (Sandbox Code Playgroud)
会诱发
https://conda.anaconda.org/default
Run Code Online (Sandbox Code Playgroud)
这样一来,人们就可以轻松地在 Anaconda Cloud 上指定用户通道。在这种情况下,它会尝试从用户处获取信息default。存在这样的帐户,但不托管任何包。1实际上,此 YAML 不提供任何包的通道。
那么,为什么会找到任何包呢?
出现这种情况是因为该conda env create命令仍然包含已配置的通道。因此,如果您有defaults或conda-forge包含在配置设置中(例如,在 中~/.condarc),Conda 还将在这些通道中搜索包。2因此,我们得到的行为就像channels:完全省略了该部分一样。
[1]:不幸的是,这会造成危险的仿冒。
[2]:实际上没有一种简单的方法可以覆盖命令中配置的通道conda env(请参阅Conda 问题)。
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |