Python 3.5 更新失败后 Anaconda 根环境不一致
Posted
技术标签:
【中文标题】Python 3.5 更新失败后 Anaconda 根环境不一致【英文标题】:Inconsistent Anaconda root env after failed Python 3.5 update 【发布时间】: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)。
【问题讨论】:
【参考方案1】:只需关注these steps 进行全新安装:
首先,删除本地 anaconda:sudo rm -rf anaconda
然后,从here重新安装
【讨论】:
Matt 提出的解决方案不起作用。这里的问题是新的 Anaconda 对依赖项更加严格。因此conda update --all
将尝试修复依赖关系树。最好的方法是删除所有内容并重新安装
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效
我最初希望得到一个答案,告诉我如何修复我的安装,而不仅仅是重新安装。但根据您的评论和其他答案,重新安装似乎是唯一的选择。哦,好吧!
感谢您的评论,@Ms.Nehal。答案的基本部分已经包含在此处,因为答案很简单。只有两个步骤:卸载和重新安装。并且对于重新安装步骤,需要下载一个安装程序文件,该文件必须是一个链接【参考方案2】:
阅读this thread后,我发现了这个有用的信息:
Conda 4.0 在确保环境具有一致的依赖关系方面更加谨慎。如果有大量一次性安装和更新,以前版本的 conda 实际上可能会使环境处于损坏状态。
副作用是我们可能会看到像您这样的支持请求增加,conda 正在做一些令人惊讶的事情,因为它会逐渐纠正损坏的环境。
因此,我决定进行全新安装,最终解决了我的问题:
删除 conda 和 anaconda
1.1 停用任何活动环境
conda info --envs
source deactivate
1.2 手动删除包含包和代码的文件夹
sudo rm -rf anaconda/
sudo rm -rf conda/
安装 conda 和 Anaconda (MiniConda)
3.1 下载installer并按照说明安装。
3.2 确保正确的环境变量(可选)。在 .bash_profile 中添加这一行 export PATH=$HOME/anaconda/bin:$PATH
。然后运行source .bash_profile
使更改生效。与which python
和which pip
确认您的python 由anaconda 管理。
安装你的包
4.1 使用conda
或pip
应该可以工作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 试试上面的。 前两个命令没有做任何事情,因为conda
和 python
已经是最新版本(分别为 4.0.5 和 3.5.1)。最后一个失败,因为我没有安装 anaconda
元包。 (我最初安装的是 Miniconda 而不是完整的发行版。)这似乎表明虽然 python
和 conda
很好,但其他软件包在某种程度上彼此不兼容。
啊,是的,我也在运行 Miniconda 并将其移至 Anaconda3 目录(它仍然有效)。您可能需要像他们在这里所做的那样:wolfpaulus.com/journal/mac/installing_python_osx
祝你好运,希望你能找到有 Mac 的人,因为我没有 Mac,希望这个链接对你有帮助。以上是关于Python 3.5 更新失败后 Anaconda 根环境不一致的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.5、OpenCV 3.2、Windows 7 64 位、Anaconda 3、“ImportError:DLL 加载失败”
在 Windows 上使用 Python 3.5 Anaconda 的底图