‘usr/bin/python’ 和 ‘python’ 运行不同的版本

‘usr/bin/python’ 和 ‘python’ 运行不同的版本

在我的 OS X 上,在终端中输入 /usr/bin/python 会运行 Python 2.6.1,但输入 python 会运行 Python 2.7.2。我希望前者也能运行 2.7.2 - 我该怎么做?

答案1

/usr/bin/python 中的版本是作为 OS X 的一部分安装的版本。输入“which python”可找到较新的 python 版本的位置。您可能已通过 MacPorts 或类似程序安装了较新的版本。

如果其他应用程序需要 /usr/bin/python 指向的位置,则更改它可能会很危险。您可以更改 python 脚本,以便它们通过更改第一行来找到用户的 python 版本:

#!/usr/bin/python

到:

#!/bin/env python

如果你确实想替换 /usr/bin/python,你可以这样做:

sudo mv /usr/bin/python /usr/bin/python.dist
sudo ln -s `which python` /usr/bin/python

但是,就像我说的,这可能很危险。如果您稍后需要恢复此更改,您可以运行:

sudo rm /usr/bin/python
sudo mv /usr/bin/python.dist /usr/bin/python

但请小心运行这些。如果你不小心删除了 OS X 上安装的 Python 版本,那么恢复它会有些麻烦。

答案2

看起来这/usr/bin/python是 Apple 提供的文件。正如其他人提到的,不要碰它。

该文件本身似乎指向(参考文献 1):

/Library/Frameworks/Python.framework/Versions

在此文件夹中,您应该能够找到最新安装的 2.x 或 3.x 版本,其符号链接文件夹名为 Current/,其中 Current/ 将指向最新安装的版本。

注意,你曾经安装过的所有 Python 版本都放在(参考2):

/System/Library/Frameworks/Python.framework/Versions

就我而言,我必须从“参考 1”中删除 2.5 文件夹,并从“参考 2”上传 2.7。然后,我删除了“当前”链接,并创建了一个指向 2.7/ 文件夹的新链接 (ln -s 2.7/ Current)。[我不确定,其他文件夹可能需要同样的操作]

现在,输入python --version您应该看到指向您创建的最新 Current/ 链接的 python 版本,在我的情况下它是版本 2.7。

我希望这有帮助,它在这里起作用。

相关内容