通过符号链接启动正确的python程序

时间:2011-01-16 00:21:54

标签: python symlink activepython

我最近安装了ActivePython 2.7。所以我在 / usr / local / bin / python 中有一个指向2.7目录的符号链接。麻烦的是,当我在命令行输入“python”时,它会在 / usr / bin / python 中启动MacPython 2.6。我不明白为什么符号链接没有优先权。 / usr / local / bin 在我的PATH上。任何帮助将不胜感激。

~ $ which python
/usr/bin/python

~ $ find /usr -iname python
/usr/bin/python
/usr/local/bin/python

路径看起来像这样:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/opt/PalmPDK/bin:/opt/PalmSDK/Current/bin:/usr/X11/bin

2 个答案:

答案 0 :(得分:3)

在命令行中键入“python”时,shell会从左到右检查$ PATH中的值,并调用它首先找到的程序。检查您当前的$ PATH设置:

$ echo $PATH

如果它同时包含/ usr / bin和/ usr / local / bin,则以优先顺序排在第一位。

答案 1 :(得分:2)

在PATH变量中,/ usr / bin可能位于/ usr / local / bin /目录之前。你应该使用完整的路径来处理这种情况。