我在 Ubuntu Linux 18.04 LTS x64 上运行 Anaconda python 发行版,并用通常的 conda update --all
更新了发行版。之后,命令行消息建议更新 conda 基础默认值。现在由于某种原因,我遇到了几个问题。首先,我无法启动 jupyter lab
,即使在尝试重新安装 conda install jupyter
之后也是如此。其次,我收到了这条新的警告信息。
WARNING conda.base.context:use_only_tar_bz2(632):
Conda is constrained to only using the old .tar.bz2
file format because you have conda-build installed,
and it is <3.18.3. Update or remove conda-build to
get smaller downloads and faster extractions.
所以我查看并找到了这篇关于让 Anaconda 更快 的博客文章。但是帖子好像信息比较多,好像不建议马上升级。
这是 conda info
的输出。
active environment : XXX
active env location : XXX
shell level : 2
user config file : ../.condarc
populated config files : ../.condarc
conda version : 4.7.5
conda-build version : 3.17.8
python version : 3.6.6.final.0
virtual packages : __cuda=10.1
base environment : ../anaconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : ../.conda/pkgs
envs directories : ../.conda/envs
platform : linux-64
user-agent : conda/4.7.5 requests/2.22.0 CPython/3.6.6 Linux/4.15.0-50-generic ubuntu/18.04.2 glibc/2.27
UID:GID : 1000:1000
netrc file : None
offline mode : False
还有其他人遇到过这个问题吗?我应该删除旧的 anaconda 发行版并下载并安装新版本的 4.7,还是有更简单的修复方法?
更新
所以我确实将这个问题发布到 Github 上的 conda
repo。下面列出了针对此问题的当前问题。根据 msarahan
这是问题的基础,只是一个临时解决方法
https://github.com/conda/conda/issues/8842
anaconda 是一个元包。每个版本都由一组版本组成,这些版本作为一个集合一起通过了 QA。如果您更改该集合中任何包的任何版本,您将不再拥有该元包,因为您已经偏离了该已知集合。该元数据包有一个特殊版本 custom,旨在处理这种放宽约束。 “自定义”版本仅取决于特定版本的 python - 它消除了对所有其他包的约束。
conda 4.7 以不同于早期 conda 版本的方式构建其候选者以进行添加。它从历史规范开始,并尝试尽可能地限制事物,以加快解决方案的速度。当 conda 找到具有“自定义”版本的 anaconda 元数据包时,它会保留它,但所有其他依赖项现在都被孤立了。这就是 conda 删除它们的原因——它们在历史上没有告诉 conda 保留它们的规范。
您可以通过运行
conda install --only-deps anaconda
恢复这些。从那时起,所有这些包都被认为是您显式历史记录的一部分,您不会再有这样的问题。原文由 krishnab 发布,翻译遵循 CC BY-SA 4.0 许可协议
(或者简单地说
conda update -n base -c defaults conda-build
)如果这没有解决,请尝试回滚到更新到
4.7.5
之前,正如@LeninGF 建议的那样,然后删除 conda 元数据,清理 conda,然后再次尝试更新,即