Команда conda предложит ошибку: "Плохой интерпретатор: нет такого файла или каталога"

Я использую arch linux, и я установил Anaconda в соответствии с инструкцией на сайте Anaconda. Когда я пытаюсь запустить conda info --envs , я получаю следующую ошибку:

bash:/home/lukasz/anaconda3/bin/conda: /opt/anaconda 1anaconda2anaconda3/bin/python: плохой интерпретатор: нет таких файл или каталог

Я пробовал искать каталог /opt/anaconda1anaconda2anaconda3/bin/python:, но его просто не существует.

Кроме того, когда я запускаю python из терминала, он работает как обычно со следующим, отображаемым в верхней части

Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.

для полноты мой файл .bashrc похож:

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
PS1='[\[email protected]\h \W]\$ '

# added by Anaconda3 4.0.0 installer
export PATH="/home/lukasz/anaconda3/bin:$PATH"

# python startup for up keys
export PYTHONSTARTUP=$HOME/.pythonstartup

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

Я хотел бы попытаться исправить это, не удаляя Anaconda и переустанавливая его.

Ответ 1

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

Проблема, вероятно, будет в инструкции shebang #! вашей конды script.

Из Википедии: в Unix-подобных операционных системах, когда script с shebang запускается как программа, программа-загрузчик выполняет анализ отдых исходной строки script в качестве директивы интерпретатора; вместо этого выполняется указанная программа интерпретатора, передавая ее как аргумент путь, который изначально использовался при попытке запустить script.

Если вы запустите

cat ~/anaconda3/bin/conda

Вероятно, вы получите следующее:

#!/opt/anaconda1anaconda2anaconda3/bin/python
if __name__ == '__main__':
    import sys
    import conda.cli

    sys.exit(conda.cli.main())

Изменение первой строки, чтобы указать правильный интерпретатор, т.е. изменить его на:

#!/home/lukasz/anaconda3/bin/python

Должно сделать команду conda работать.

Если вы уверены, что вы все правильно установили, я бы предположил, что, возможно, обратился за поддержкой от сообщества anaconda.

Ответ 2

Как ответ выше, эту проблему можно решить, изменив

#!/opt/anaconda1anaconda2anaconda3/bin/python

к

#!/opt/anaconda3/bin/python

Однако, как только вы выполните следующую установку, например, "conda install [...]", по каким-либо причинам это будет изменено на anaconda1anaconda2anaconda3.

Вы также можете реализовать некоторые предупреждения и ошибки установки, которые, скорее всего, будут связаны с этой проблемой. Если вы хотите избавиться от этой проблемы, вам необходимо решить эти предупреждения и ошибки. Мое самое сильное предположение заключается в том, что отсутствуют права администратора, вызывающие эту проблему, когда вы пытаетесь установить некоторые пакеты conda в первый раз.