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

2 投票
2 回答
2299 浏览
提问于 2025-04-16 10:02

我最近安装了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 个回答

2

在你的PATH变量中,/usr/bin可能排在/usr/local/bin目录之前。为了让它正常工作,你应该使用完整的路径。

3

当你在命令行输入“python”时,系统会从左到右检查你的$PATH环境变量中的值,然后执行它找到的第一个程序。你可以这样查看你当前的$PATH设置:

$ echo $PATH

如果你的$PATH里同时包含了/usr/bin和/usr/local/bin,那么先出现的那个会优先被执行。

撰写回答