OSX/UNIX PATH 环境变量中的 Python 版本优先级

OSX/UNIX PATH 环境变量中的 Python 版本优先级

我希望我的系统使用 /usr/bin/python,但它当前正在使用 /opt/local/bin/python,它指向 /usr/bin/python2.6。我尝试修改 .bashrc 中的 PATH 变量,如下所示

PATH=~/bin:$PATH

...然后在 ~/bin 中设置一个符号链接指向 /usr/bin/python。即~/bin/python --> /usr/bin/python

我认为如果此符号链接在 PATH 变量中位于其他符号链接之前,则此符号链接的优先级可能会高于 /opt/local 版本,但当我打开新 shell 时,我仍然发现 python 指向 /opt/local/bin。有没有关于让系统使用 /usr/bin/python 的好方法的建议?

另外,我通常使用 ipython 而不是直接使用 python。我假设如果系统开始使用正确版本的 python,那么 ipython 也会使用该版本?如果不是,我如何才能让 ipython 使用正确的版本?

谢谢!

答案1

我无法确切知道 ~/.bashrc 发生了什么,但这是我的猜测。如果你正在使用 Terminal.app 并且没有更改你的偏好设置,Terminal 将默认调用 Bash 作为交互式登录 shell,这不执行来自 ~/.bashrc 的命令. 如上所述,添加

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

到 ~/.bash_profile 的末尾将明确告诉 Bash 执行在 ~/.bashrc 中找到的命令(如果存在)。


一旦您的系统使用了正确的 Python 版本,请使用该版本再次安装 IPython(我认为使用与原始安装相同的选项)。然后 IPython 应该可以在您想要使用的 Python 版本中使用。

IPython 的常见问题解答还涵盖如何同时使用 IPython 和两个版本的 Python,如果你有兴趣的话。

相关内容