Ни один модуль с именем 'conda' после обновления conda - PullRequest
1 голос
/ 11 апреля 2020

Я установил miniconda3 на мою машину с Ubuntu. Когда я использую conda, то выдает следующую ошибку:

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

Но код в блокноте jupyter из виртуальной среды (miniconda3 / envs / himal) работает. Я столкнулся с проблемой установки нового пакета в виртуальной среде «himal». Как изменить базовую среду в Ubuntu?

enter image description here

РЕДАКТИРОВАТЬ

Выход

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

is

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

AND

~/miniconda3/bin/python --version

is

Python 3.8.2

Python версия внутри виртуальных envs - 3.7.2. Пока я пользуюсь ноутбуком jupyter от Pycharm, работает виртуальный envs. Но проблема при использовании conda из терминала

1 Ответ

1 голос
/ 11 апреля 2020

Проблема здесь, вероятно, возникла из-за ошибки в conda. Интерпретатор был обновлен до версии 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. Для меня это будет транзакция 2020-04-03 08:19:57 (rev 107) идентификатор, который нам нужен - 107.

Теперь мы можем вернуться к предыдущей версии (107 - 1 = 106):

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

После принятия этого , conda должна вернуться.

Здесь обновите conda, чтобы предотвратить это в будущем:

conda install conda python=3.7
...