Conda 安装和更新不起作用也解决了环境错误

Posted

技术标签:

【中文标题】Conda 安装和更新不起作用也解决了环境错误【英文标题】:Conda install and update do not work also solving environment get errors 【发布时间】:2019-12-22 09:21:03 【问题描述】:

我正在使用 anaconda,如下所示:

(base) C:\Users\xxx>conda info

     active environment : base
    active env location : C:\Users\xxx\Documents\ANACONDA
            shell level : 1
       user config file : C:\Users\xxx\.condarc
 populated config files : C:\Users\xxx\.condarc
          conda version : 4.7.11
    conda-build version : 3.18.9
         python version : 3.6.9.final.0
       virtual packages :
       base environment : C:\Users\xxx\Documents\ANACONDA  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\xxx\Documents\ANACONDA\pkgs
                          C:\Users\xxx\.conda\pkgs
                          C:\Users\xxx\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\xxx\Documents\ANACONDA\envs
                          C:\Users\xxx\.conda\envs
                          C:\Users\xxx\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.7.11 requests/2.22.0 CPython/3.6.9 Windows/10 Windows/10.0.16299
          administrator : False
             netrc file : None
           offline mode : False

现在我有 2 个问题阻止了我的工作。 1) 我不能将conda install 用于任何包。 它会给我solving environment 中的错误列表:

failed with initial frozen solve. Retrying with flexible solve.

然后它会再次失败并给出这样的消息:

Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

即使在检查了不兼容的包之后,它也没有给我解决方案。

2)当我想通过命令升级或降级conda时:

conda update -n base conda

conda install conda = 4.6.11

solving environment会再次报错,我认为这与第一个问题有关。

现在我什么都不能用 conda,请指教,谢谢!

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,但我找不到解决方案,但我确实找到了解决方法。如果您创建一个环境并激活该环境然后进行安装,它似乎工作得很好。如果您不需要很多库,我会尝试。

命令是:

    创建环境
conda create --name myenv
    激活环境
conda activate myenv

【讨论】:

虽然这是一种变通方法,但似乎是解决这个问题最可行的方法。在拥有另一个环境之后,conda install 再次工作,这次我只是尽可能谨慎地选择 conda install。 对于像我这样开始使用 python 创建虚拟环境的人来说,必须使用 conda 而不是其他任何东西来创建环境。 这里有同样的问题,很多用户在他们的 Github 页面上发布了同样的问题。创建一个新的环境似乎工作正常。否则,解决环境问题需要很长时间。 真的没有别的办法了吗?创建一个新环境对于我较小的驱动器来说太大了,所以我只能使用基础环境 我在刚刚创建的全新环境中遇到了这个问题,所以显然问题不仅仅是环境损坏。【参考方案2】:

当一个软件包建议在安装前进行以下修改时,我开始遇到这个问题

conda config --set channel_priority true

所以我只是恢复它,瞧,错误消失了

conda config --set channel_priority false

【讨论】:

非常感谢,这在 conda 4.9.2 上对我有用。无需将 conda 降级到 4.6 现在 channel_priority 具有不同的值:“strict”、“flexible”和“disabled”。尝试conda config --describe channel_priority 获取这些新值的描述。 truefalse 仍然被接受,但仅充当灵活和禁用的别名,而 strict 是一个全新的值,如果它找到您尝试安装到高优先级通道的软件包,则完全忽略其他频道,不管他们提供的版本。 这对我来说也适用于 macos 上的 conda 4.10.3。【参考方案3】:

我通过执行以下操作解决了类似的问题:

conda update --all --yes

【讨论】:

解决了我安装pyarrow的问题。谢谢。 用 contextlib2 也解决了我的问题【参考方案4】:

您可以降级到旧版本的 conda 4.6.14,然后安装您的软件包。

conda config --set allow_conda_downgrades true
conda install conda=4.6.14

【讨论】:

作为旁注,如果你走这条路(我做过),你可能需要一个全新的 anaconda 安装才能工作 无限期地使用旧版本是不明智的。【参考方案5】:

如果您的 conda 版本大于或等于 4.8,您可能会看到该错误。

(base) [localhost ~]$ conda --version
conda 4.8.2
(base) [localhost ~]$ conda install -c anaconda requests-kerberos
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.

如果可能的话,使用以下命令降级你的 conda

conda config --set allow_conda_downgrades true
conda install conda=4.6.14

然后创建你的虚拟环境:

conda create --name myenv_conda

然后激活你的 myenv_conda

conda activate myenv_conda

现在尝试使用 conda -c install anaconda 安装软件包

eg: conda install -c conda requests-kerberos

output:
(myenv_conda) [localhost ~]$ conda install -c anaconda requests-kerberos
Collecting package metadata: done
Solving environment: done
....
....
....
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

【讨论】:

【参考方案6】:

我在安装geopandas 时遇到了同样的问题。在我使用以下方法升级到较新版本的 Anaconda 后问题就消失了:

conda update --prefix C:\apps\anaconda3 anaconda

注意:您必须修改路径C:\apps\anaconda3 指向您自己的安装目录。

奇怪的是,我在几个小时前确实从官方主页下载了 Anaconda,并认为我拥有的是最新版本...

【讨论】:

【参考方案7】:

https://***.com/a/61117831/7802476 帮助了我。使用接受的答案创建新环境并没有让我的 jupyter 笔记本识别已安装的 opencv。当我在终端环境中时,我只能import cv2

解决方法是使用 pip 而不是 conda,pip install opencv-python

【讨论】:

是的 opencvconda 本身不支持的更高可见度的包之一【参考方案8】:

如果您不是超级用户,请创建一个新环境,然后激活环境以安装软件包

【讨论】:

【参考方案9】:

建议升级 conda 最新版本。

conda install --quiet --yes conda=4.7.11 
python -m pip install --upgrade pip==19.2.2

【讨论】:

尝试安装conda=4.7.11时仍然无法解决env,在它说found conflict之后,它进入了包检查并永远停在那里...... 遇到同样的问题。请任何人帮助 可以用conda=4.6,目前还可以。 同样的问题。您是否建议从 conda=4.7 降级到 conda=4.6? 降级到 conda 4.6 帮助我解决了这个问题,让我可以正常安装特定版本的软件包。

以上是关于Conda 安装和更新不起作用也解决了环境错误的主要内容,如果未能解决你的问题,请参考以下文章

Pyviz Panel app.show() 在远程使用 Jupyter Notebook 时不起作用

我正在尝试更新数据,但它不起作用

打开CAD出现致命错误:安全系统(保密锁或网络许可)不起作用或未正确安装

如何解决java环境变量设置不起作用的问题

PyInstaller ModuleNotFoundError --paths 标志似乎不起作用

离线创建conda环境