conda 更新后没有名为 'conda' 的模块

No module named 'conda' after conda update

我已经在我的 ubuntu 机器上安装了 miniconda3。当我使用 conda 时,它会出现以下错误:

 File "/home/himal/miniconda3/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'

但是来自虚拟环境 (miniconda3/envs/himal) 的 jupyter 笔记本中的代码有效。我在虚拟环境 'himal' 中安装新包时遇到问题。如何在Ubuntu?

中更改基础环境

编辑

的输出
$ echo ~/miniconda3/lib/python*/site-packages/conda-* 

/home/himal/miniconda3/lib/python3.7/site-packages/conda-4.6.1-py3.7.egg-info

~/miniconda3/bin/python --version

Python 3.8.2

Python 虚拟环境中的版本是 3.7.2。当我使用 Pycharm 中的 jupyter notebook 时,虚拟环境有效。但是从终端

使用 conda 时出现问题

这里的问题很可能是由conda 中的一个bug 引起的。解释器已更新至 3.8 版,但 conda 仍安装在 python 3.7 解释器中,因此无法再找到。

首先我们需要找到当前conda库的路径。这可以通过以下命令完成:echo ~/miniconda3/lib/python*/site-packages/conda-*。然后我们设置两个辅助环境变量:

# path to site package with conda library
SITE_PACKAGES=/home/himal/miniconda3/lib/python3.7/site-packages
# path to current miniconda base python interpreter
PYTHON_BASE=/home/himal/miniconda3/bin/python

然后我们需要找到最后的工作修订

PYTHONPATH=$SITE_PACKAGES $PYTHON_BASE -m conda list --revisions

找到最后一个 conda 事务的修订 ID。对我来说,这将是交易 2020-04-03 08:19:57 (rev 107) 我们需要的 id 是 107.

现在我们可以恢复到之前的修订版 (107 - 1 = 106):

PYTHONPATH=$SITE_PACKAGES $PYTHON_BASE -m conda install --revision 106

接受这个之后,conda应该回来了。

从这里开始,更新 conda 以防止将来发生这种情况:

conda install conda python=3.7

您必须从此处安装最新版本的 Conda,https://www.anaconda.com/products/individual 通过为您的系统复制 link(在您的情况下为 linux)。那你就不会运行遇到这个问题了!