Импортировать трассировку ошибок conda при открытии терминала

Следующие строки кода появляются каждый раз, когда я открываю свой терминал.

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
ImportError: No module named conda

Я беспокоюсь, что, возможно, испортил свою (базовую) среду conda, но пока не сталкивался с какими-либо проблемами. В основном, это просто очень раздражает видеть.

Использование conda activate base не дает ошибок. Все, что я делал в последнее время, удалял и переустанавливал разные версии opencv, чтобы у меня была версия, позволяющая использовать imshow(). Я также сделал path_to_env_python -m pip3 install common. Кроме того, я не думаю, что сделал что-то, что могло бы вызвать проблему.

Любые идеи?


person PoorProgrammer    schedule 13.12.2019    source источник
comment
Похоже, проблема возникла с conda 4.8.0. Лучше верните conda на 4.7.12 на данный момент, это стабильно.   -  person FabienP    schedule 14.12.2019


Ответы (4)


Имея ту же проблему. Для меня временным исправлением было закомментировать eval и цикл else if в bashrc.

На github conda есть ветка по этому вопросу: https://github.com/conda/conda/issues/9505

изменить: это была ошибка в анаконде 4.8.0. В <conda_install>/etc/bash_completion.d/conda python вызывался без добавления пути к anaconda python, в результате чего он открывал python 2.7 и потом пытался импортировать conda. Это было исправлено самым последним обновлением, поэтому запуск conda update conda должен решить проблему!

person iklucas    schedule 13.12.2019

Я думаю, что это связано с проблемой восходящего потока, поскольку сегодня утром я столкнулся с одной и той же проблемой на двух разных машинах. Поэтому я бы посоветовал не изменять ваши файлы RC.

person ozancaglayan    schedule 13.12.2019

У меня была такая же проблема Причина в .bashrc:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/myname/app/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/myname/app/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/myname/app/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/myname/app/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup

Проблемная строка:

eval "$__conda_setup"

Решено заменой всего блока на:

export PATH="/home/myname/app/miniconda3/bin:$PATH"
person Alexey Chub    schedule 13.12.2019
comment
Этого не должно быть. Вы глубже изучали, почему это не удалось? Ручное управление PATH в интерактивных сеансах настоятельно не рекомендуется, так как это приводит к утечке базовой среды в другие, которые можно активировать. - person merv; 13.12.2019
comment
К сожалению, это решение нарушает работу conda activate с терминала. - person Alexey Chub; 13.12.2019
comment
Рабочее решение представлено здесь: github.com/conda/conda/issues/9505 - person Alexey Chub; 16.12.2019

Ошибка была исправлена, вам нужно сделать conda update conda в вашем терминале, и он будет работать как шарм.

person cnemri    schedule 19.12.2019