python - 从损坏的 miniconda 升级到干净完整的 anaconda 发行版的正确方法是什么?
问题描述
我以前一直在使用 miniconda 并临时安装所需的软件包,通常是在针对手头任务量身定制的特定环境中。即使我尝试从头开始创建新环境,我现在也经常遇到关于不一致和安装命令失败的错误消息。因此,我想尝试重新开始并安装整个干净的 anaconda 发行版,最好不要破坏我仍然可以工作的现有环境。
我尝试conda install -c anaconda anaconda
在根级别(无虚拟环境)简单地使用,但即使返回:
正在收集包元数据(current_repodata.json):done解决环境:\环境不一致,请仔细检查包计划以下包导致不一致:
defaults/linux-64::asn1crypto==0.24.0=py37_0 初始冻结求解失败。使用灵活的求解重试。解决环境:来自 current_repodata.json 的 repodata 失败,将使用下一个 repodata 源重试。收集包元数据(repodata.json):完成解决环境:| 初始冻结解决失败。使用灵活的求解重试。
那时我放弃了,决定寻求专家的建议。
解决方案
Scorched-earth:通过删除所有内容所在的文件夹来删除整个 Miniconda 安装,这可能是$CONDA_PREFIX
. 替换为全新安装(Miniconda、Anaconda 或您最喜欢的替代品),然后重新构建您的环境。在我看来,由于环境是一次性的,全新安装比试图让几个看起来很糟糕的环境工作更可取。这显然需要一些时间,但可以在几分钟内完成,而不是尝试修复损坏的环境需要几个小时。
小心,但耗时:卸载一堆程序,然后一个一个重新安装。例如,conda install numpy
如果您使用科学软件,可能会删除大量软件包。这具有保留其他安装配置的好处,但我真的不认为值得花时间和头痛(再次,环境是一次性的并且旨在快速重新创建)。
推荐阅读
- html - 活动输入表单 - 出现标签 - 纯 css 解决方案
- ios - 设置 UITextField 的文本不会更新 UI,直到它获得焦点 | iOS
- nginx - Nginx 不监听 80 端口
- javascript - 如何使用反应挂钩订阅更改 redux?
- kubernetes-helm - 如何在 okd 环境中安装的 jenkinsx 中将 helm 从 2 升级到 3 版本
- reactjs - 如何在创建反应应用程序中使用 scss 变量?
- dart - 在飞镖中,使用第一个字符串的长度将字符串分成两部分
- c - 为什么我们在初始化链表的根时使用 node* 而不是只说 node ?
- r - 是否有可以在 R 中找到特定站点的服务器时间的编码?
- unity3d - 2D 盒子碰撞器在 Unity 中不起作用