为什么conda不会从conda-forge安装最新版本的spyder

时间:2020-04-01 14:51:00

标签: python anaconda conda spyder conda-forge

为什么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_ *'构建。

更新:

这绝对不是原始问题的“答案”,只是一个不清楚的解决方案。我所做的就是在没有特定原因的情况下在condapkgs/main之间来回切换conda-forge的频道(只是希望它可以解决conda中的某些问题)。之后,它仍然不希望update监视4.1.1,但是确实允许我使用install 4.1.1(即使用conda install spyder=4.1.1。这当然不是正确的行为,但是有点打h。

2 个答案:

答案 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

希望这会有所帮助