conda command will prompt error: “Bad Interpreter: No such file or directory”

匿名 (未验证) 提交于 2019-12-03 02:49:01

问题:

I'm using arch linux and I've installed Anaconda as per the instruction on the Anaconda site. When I'm attempting to run conda info --envs I get the following error:

bash: /home/lukasz/anaconda3/bin/conda: /opt/anaconda1anaconda2anaconda3/bin/python: bad interpreter: No such file or directory

I've tryed looking for the directory /opt/anaconda1anaconda2anaconda3/bin/python: but it simply doesn't exist.

Furthermore, when I run python from the terminal it runs as normal with the following displayed at the top

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. 

for completeness my .bashrc file resembles:

# # ~/.bashrc #  # If not running interactively, don't do anything [[ $- != *i* ]] && return  alias ls='ls --color=auto' PS1='[\u@\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 

I've tried following the Conda command not found and making the the appropriate changes but nothing, I've also attempted to Conda command not found, path is in .bashrc but there really isn't a solution posted.

I would like to try to fix this without having to remove Anaconda and reinstalling it.

回答1:

Something must have gone wrong during the installation, I suppose. The bad interpreter means that a script is looking for an interpreter that doesn't exist - as you rightfully pointed out.

The problem is likely to be in the shebang #! statement of your conda script.

From Wikipedia: Under Unix-like operating systems, when a script with a shebang is run as a program, the program loader parses the rest of the script's initial line as an interpreter directive; the specified interpreter program is run instead, passing to it as an argument the path that was initially used when attempting to run the script.

If you run

cat ~/anaconda3/bin/conda 

You will probably get the following:

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

Changing the first line to point a correct interpreter, i.e., changing it to:

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

Should make the conda command work.

If you are sure that you installed everything properly, then I'd suggest maybe reaching out for support from the anaconda community.



回答2:

As the response above, this issue can be solved by changing the

#!/opt/anaconda1anaconda2anaconda3/bin/python 

to

#!/opt/anaconda3/bin/python 

However, as soon as you do the next installation, e.g. "conda install [...]" this will be changed again to anaconda1anaconda2anaconda3, for whatever reasons.

You might also realize some installation warnings and errors which are very likely to be related to this problem. If you want to get rid of this problem, you have to solve this warnings and errors. My strongest assumption is that there are missing administrator rights causing this problem, when you attempt to installs some conda packages the first time.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!