为什么conda update --all
决定/如何决定升级到conda-forge软件包(在这种情况下为spyder)的构建,不是似乎是最新的? / p>
我确实有一个.condarc
文件,其中包含内容
channels:
- conda-forge
- defaults
此外,我conda search spyder --channel conda-forge | grep forge | grep 4.1 | grep py37
得到
spyder 4.1.0 py37hc8dfbb8_0 conda-forge
spyder 4.1.1 py37hc8dfbb8_1 conda-forge
即该频道上似乎有4.1.*
个版本。
但是,我对conda update --all
的了解是
~>conda list | grep spyder
spyder 4.0.1 py37_0 conda-forge
为什么会这样?这合适吗?我想念什么?
只需澄清一下:我并没有“固定”系统上任何其他软件包的版本。
此外,如果我查看系统上安装的所有软件包,则决不会仅安装py37_0构建。实际上,通过conda update --all
安装了许多这种神秘的'manyascii_ *'构建。
更新:
这绝对不是原始问题的“答案”,只是一个不清楚的解决方案。我所做的就是在没有特定原因的情况下在conda
和pkgs/main
之间来回切换conda-forge
的频道(只是希望它可以解决conda中的某些问题)。之后,它仍然不希望update
监视4.1.1,但是确实允许我使用install
4.1.1(即使用conda install spyder=4.1.1
。这当然不是正确的行为,但是有点打h。
答案 0 :(得分:0)
这也是我有时遇到的一个问题,原因并非如此。
第一个原因可能是channel priority,您可以尝试使用channel_priority: disabled
完全禁用它,也可以尝试使用“-
第二个可能是依赖关系:也许不存在您需要升级的其他东西,或者为了升级您的 spyder 软件包而降级的东西,而解析器发现的最佳折衷办法不是您所需要的期待。
第三个可能是,当您首次安装 spyder 时,是通过指定软固定它的版本来完成的。
第四个可能是解析程序会遗漏要点,有时会发生:您应明确告知您绝对要升级的软件包,例如conda update spyder --all
。另外,您可以明确地指出要进行积极升级的软件包,配置为“ aggressive_update_packages”。
答案 1 :(得分:0)
蛮力修复。
在$HOME
之类的地方设置临时/u/user/condatemp/
,并确保该目录中没有.condarc
。
在此处导航-创建您的环境。安装spyder
时,请尝试使用channel/label/labelname
方法。
conda install -c conda-forge/label/blah-blah spyder -y
希望这会有所帮助