当提示遇到意外错误时如何还原conda更新

时间:2019-07-03 21:55:33

标签: python anaconda conda

今天早晨,我已在Windows 8上使用conda更新了Spyder(conda update spyder),后来当我检查无法启动Spyder和Anaconda Navigator时,便会更新。

我尝试再次更新程序包,但是提示提示我以下警告,但无法检索程序包元数据:

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.

鉴于此,我尝试使用conda install --revision 9(先前的版本)还原整个操作,并在该操作上遇到相同的警告消息。这次,提示尝试回滚,但最终崩溃了,报告很长,并显示以下消息:

An unexpected error has occurred. Conda has prepared the above report. If submitted,
this report will be used by core maintainers to improve future releases of conda.
Would you like conda to send this report to the core maintainers?

根据提示的建议尝试conda update conda-buildconda remove conda-build会导致完全相同的错误。

由于conda每当执行恢复或删除操作时都会将我锁定在错误中,因此如何恢复环境?

如果有帮助,这是在环境中通过更新进行的所有更改:

2019-07-03 10:40:00  (rev 10)
 ca-certificates  {2019.3.9 (conda-forge) -> 2019.6.16 (conda-forge)}
 certifi  {2019.3.9 (conda-forge) -> 2019.6.16 (conda-forge)}
 conda  {4.6.14 (conda-forge) -> 4.7.5 (conda-forge)}
 cryptography  {2.5 (conda-forge) -> 2.7 (conda-forge)}
 krb5  {1.16.2 (conda-forge) -> 1.16.1}
 libssh2  {1.8.0 (conda-forge) -> 1.8.2 (conda-forge)}
 openssl  {1.0.2r (conda-forge) -> 1.1.1b (conda-forge)}
 pycurl  {7.43.0.2 -> 7.43.0.2}
 pyqt  {5.6.0 (conda-forge) -> 5.9.2 (conda-forge)}
 qt  {5.6.2 -> 5.9.7}
 sip  {4.18.1 (conda-forge) -> 4.19.8 (conda-forge)}
 spyder  {3.3.4 (conda-forge) -> 3.3.5 (conda-forge)}
 spyder-kernels  {0.4.4 (conda-forge) -> 0.5.0 (conda-forge)}
+conda-package-handling-1.3.10 (conda-forge)
+libarchive-3.3.3 (conda-forge)
+lz4-c-1.8.3 (conda-forge)
+python-libarchive-c-2.8 (conda-forge)
+xz-5.2.4 (conda-forge)
+zstd-1.3.3 (conda-forge)

3 个答案:

答案 0 :(得分:1)

显然this was solved in the latest version of conda。您只需要使用

对其进行更新

conda update conda -c conda-canary

我没有机会自己尝试-我正在做一个项目,在完成之前,我不想破坏任何东西。但是,我会在完成后尝试一下。

答案 1 :(得分:0)

作为解决方案,请同时更新conda环境并重置spyder内核。

conda update conda
conda update --all
conda remove spyder-kernels
conda install spyder-kernels=0.*

OR

解决方法 我可以建议的是,列出所有conda版本,这类似于您的conda环境中的还原点

conda list --revisions

稍后,尝试回滚到您认为运行良好的先前版本。 例子

conda install --revision 35

答案 2 :(得分:0)

我正在分享对我有用的步骤。 请考虑将环境更改为root/base。您可以使用conda env list检查所有可用环境。如果它显示base作为环境之一,请考虑使用activate basesource activate base激活环境。

激活环境后,所有conda命令开始工作。它甚至有助于安装新软件包和创建新环境。