Python 3.5更新失败后,Anaconda root env不一致

时间:2016-03-20 18:13:23

标签: python anaconda python-3.5

我最近尝试使用命令

将我的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

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

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

编辑(2016年5月5日)

我原本忘了提到我正在运行的系统是Mac OS X 10.11(El Capitan)。

3 个答案:

答案 0 :(得分:5)

只需按照these steps进行全新安装:

首先,删除您当地的蟒蛇:sudo rm -rf anaconda

然后,再次从here

安装

答案 1 :(得分:3)

阅读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

答案 2 :(得分:0)

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

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

我意识到你已经跑了中间部分,但是其他人说这个序列将根设置回3.5。