【问题标题】:Inconsistent Anaconda root env after failed Python 3.5 updatePython 3.5 更新失败后 Anaconda 根环境不一致
【发布时间】:2016-07-07 04:03:18
【问题描述】:

我最近尝试使用命令将我的 Anaconda 安装的根环境从 Python 3.4 更新到 Python 3.5

conda install python=3.5

做完之后,我跑了

conda update --all python=3.5

希望它将所有其他包更新到 Python 3.5 版本,但它失败并显示以下错误消息:(请注意,我在此列表中间省略了许多包)

The following specifications were found to be in conflict:
  - backports_abc -> python 2.7*|3.4*
  - certifi -> python 2.7*|3.4*
  - colorama -> python 2.7*|3.4*|3.5*
  - conda -> python 2.7*|3.4*|3.5*
  - conda-env -> python 2.7*|3.4*
  - decorator -> python 2.7*|3.4*
  - django -> python 2.7*|3.4*
  - ecdsa -> python 2.7*|3.4*
  - flask -> python 2.7*|3.4*
  - greenlet -> python 2.6*|2.7*|3.3*|3.4*|3.5*
  - ipykernel -> python 2.7*|3.4*

[...many more...] 

  - simplegeneric -> python 2.7*|3.4*|3.5*
  - six -> python 2.7*|3.4*
  - werkzeug -> python 2.7*|3.4*
  - wheel -> python 2.7*|3.4*
Use "conda info <package>" to see the dependencies for each package.

看来我现在搞砸了我的根环境。我只想卸载里面的所有包,但是命令

conda uninstall --all

只是抱怨:

Error: cannot remove current environment. deactivate and run conda remove again

(当然我不能停用我的环境,因为我已经在根环境中了。)

那么,有没有什么方法可以轻松清理根环境呢?或者,有没有办法正确更新 Python 3.5 的所有包?

编辑(2016 年 5 月 10 日)

我最初忘记提及我正在运行的系统是 Mac OS X 10.11 (El Capitan)。

【问题讨论】:

    标签: python anaconda python-3.5


    【解决方案1】:

    只需关注these steps 进行全新安装:

    首先,删除本地 anaconda:sudo rm -rf anaconda

    然后,从here重新安装

    【讨论】:

    • Matt 提出的解决方案不起作用。这里的问题是新的 Anaconda 对依赖项更加严格。因此conda update --all 将尝试修复依赖关系树。最好的方法是删除所有内容并重新安装
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效
    • 我最初希望得到一个答案,告诉我如何修复我的安装,而不仅仅是重新安装。但根据您的评论和其他答案,重新安装似乎是唯一的选择。哦,好吧!
    • 感谢您的评论,@Ms.Nehal。答案的基本部分已经包含在此处,因为答案很简单。只有两个步骤:卸载和重新安装。并且对于重新安装步骤,需要下载一个安装程序文件,该文件必须是一个链接
    【解决方案2】:

    阅读this thread后,我发现了这个有用的信息:

    Conda 4.0 在确保环境具有一致的依赖关系方面更加谨慎。如果有大量一次性安装和更新,以前版本的 conda 实际上可能会使环境处于损坏状态。

    副作用是我们可能会看到像您这样的支持请求增加,conda 正在做一些令人惊讶的事情,因为它会逐渐纠正损坏的环境。

    因此,我决定进行全新安装,最终解决了我的问题:

    1. 删除 conda 和 anaconda

      1.1 停用任何活动环境

      conda info --envs

      source deactivate

      1.2 手动删除包含包和代码的文件夹

      sudo rm -rf anaconda/

      sudo rm -rf conda/

    2. 安装 conda 和 Anaconda (MiniConda)

      3.1 下载installer并按照说明安装。

      3.2 确保正确的环境变量(可选)。在 .bash_profile 中添加这一行 export PATH=$HOME/anaconda/bin:$PATH。然后运行source .bash_profile 使更改生效。与which pythonwhich pip 确认您的python 由anaconda 管理。

    3. 安装你的包

      4.1 使用condapip 应该可以工作source

      4.2 更新和清理:

      conda update --all python=3.5

      conda clean --all

      4.2 检查一切是否正确:

      conda info

      conda list

    【讨论】:

      【解决方案3】:

      啊,我正在编辑,因为我不知道你有 Mac。试试这些行,看看会发生什么:

      conda update conda conda update conda python=3.5 conda update anaconda

      我知道你已经运行了中间部分,但其他人说这个序列将根设置回 3.5。

      【讨论】:

      • 我忘了在我的问题中提到我正在运行的系统是 Mac。 (对此感到抱歉!)我已编辑问题以反映此信息。我也有基于 Python 3.5 的环境,所以它们确实可以工作,但我只是希望有一种方法可以在不重新安装的情况下升级根环境。
      • @jb326 试试上面的。
      • 前两个命令没有做任何事情,因为 condapython 已经是最新版本(分别为 4.0.5 和 3.5.1)。最后一个失败,因为我没有安装 anaconda 元包。 (我最初安装的是 Miniconda 而不是完整的发行版。)这似乎表明虽然 pythonconda 很好,但其他软件包在某种程度上彼此不兼容。
      • 啊,是的,我也在运行 Miniconda 并将其移至 Anaconda3 目录(它仍然有效)。您可能需要像他们在这里所做的那样:wolfpaulus.com/journal/mac/installing_python_osx
      • 祝你好运,希望你能找到有 Mac 的人,因为我没有 Mac,希望这个链接对你有帮助。
      猜你喜欢
      • 2019-08-12
      • 2021-05-10
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2019-06-08
      相关资源
      最近更新 更多