改变PATH变量仍旧旧位置指出bash:糟糕的解释器

时间:2017-03-28 03:05:25

标签: bash anaconda spyder .bash-profile installation-path

最近我的anaconda / python安装从linux中的worspace01移到了workspace02分区。我已手动更改了所有环境变量,但仍显示与旧地址存在冲突。我错过了某个地方吗?

[nahiyank@venus]$ spyder
bash: /local/workspace02/nahiyank/anaconda/bin/spyder: /local/workspace01/nahiyank/anaconda/bin/python: bad interpreter

[nahiyank@cc08]$ $PATH
bash: /local/workspace02/nahiyank/anaconda/bin::/local/workspace02/nahiyank/anaconda/bin:/local/workspace02/nahiyank/anaconda/bin:/local/workspace02/nahiyank/anaconda/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/var/cfengine/bin:/home/u13/nahiyank/bin:.: No such file or directory


[nahiyank@cc08]$ cat .bashrc | grep anaconda
export PATH="/local/workspace02/nahiyank/anaconda/bin:$PATH"

然而,我的python工作正常,使用相同的anaconda框架

[nahiyank@cc08]$ python
Python 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 12:22:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

我还尝试直接从GUI

运行spyder可执行文件

3 个答案:

答案 0 :(得分:1)

我不熟悉anaconda,但是从错误消息看起来spyder是一个带有shebang行的python脚本,它指定了python解释器的旧路径。像这样:

#!/local/workspace01/nahiyank/anaconda/bin/python

...因为python解释器不再存在,所以找不到它并且你得到“错误的解释器”错误。可能还有其他旧编码的硬编码参考。您可以使用以下方式搜索对旧位置的引用:

grep -R '/workspace01/' /local/workspace02/nahiyank/anaconda

可能通过编辑受影响的文件来修复它们,但重新安装可能更简单(正如我所说,我不熟悉anaconda)。

它没有关系,但你的PATH也有一些问题。 / local / workspace02 / nahiyank / anaconda / bin列出了4次(!),还有一个空白条目(参见“::”部分?)。我们必须看到更多的shell init文件来找出原因。

答案 1 :(得分:0)

Anaconda 是便携式发行版,即您需要在新位置重新安装它才能再次使用。

答案 2 :(得分:0)

  • 这绝对是一个路径问题
  • 您是否检查了echo $PATH
  • $ PATH的值应该具有anaconda路径的子串local/workspace02/nahiyank/anaconda
  • 如果未在$ PATH中设置新的anaconda路径,请转到.bashrc文件,然后通过PATH ="和_the_value_of_the_path_plus_anaconda_path"
  • 设置PATH
  • 这应该可以解决问题
  • 另一个更简单的解决方案是重新安装anaconda
  • 如果你重新安装,我建议不要移动文件夹,因为在anaconda中文件是硬编码的,并且在移动你的静止点到旧位置