如何更改Bash在Linux中查找Python的位置?

7 投票
2 回答
34584 浏览
提问于 2025-04-16 15:05

我刚把我的ReadyNas上的Python从2.3.5更新到了2.6.6。这个升级把新版本放在了/usr/local/bin这个文件夹里。所以

  • /usr/local/bin/python是Python 2.6.6
  • /usr/bin/python是Python 2.3.5

当我在bash命令行输入python时,它试图运行/usr/bin/python,也就是我之前的旧版本。我把旧版本移走了,现在我看到:

bash: /usr/bin/python: No such file or directory

我该如何改变bash查找Python的路径?现在bash是怎么决定的,当我输入python时,它只在/usr/bin这个地方找Python的?

2 个回答

0

我觉得BASH不应该负责选择Python解释器的默认版本。

如果你是管理员,最简单的方法就是在/usr/bin/python里创建一个指向合适版本的符号链接。尽量避免直接替换实际的程序文件。

如果你不是管理员,那就找个你能访问的地方,创建一个bin文件夹,并把它放到$PATH环境变量的前面。然后创建一个指向你想要的Python解释器版本的符号链接。

祝好运!

16

你的 PATH 环境变量。它包含了一系列目录,当 bash 需要找到一个程序来执行时,就会按照这个顺序去这些目录里查找。简单来说,你希望把 /usr/local/bin 放在你的 PATH 环境变量的最前面。你可以在你的 ~/.bashrc 文件中添加以下内容:

export PATH=/usr/local/bin:$PATH

你可以通过在 bash 中运行 set 命令来查看当前的设置。

另外,你也可以简单地把 /usr/bin/python 重命名为 /usr/bin/python2.3,然后创建一个指向新版本的符号链接,比如:

ln -s /usr/local/bin/python /usr/bin/python

撰写回答