Команда 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 в первый раз.