我知道这个问题之前在这个网站上被问过,我也找到了一些值得讨论的内容,但我找到并尝试过的解决方案都不起作用。我想学习 Python,但在 Mac 上正确设置它时遇到了麻烦。我运行的是 OS X 10.6.7。
我从以下网址下载了 Python 3.2 安装程序python.org并安装它,安装到/Library/Frameworks/Python.framework/Versions/3.2/bin
。现在这样就没问题了,因为我可以简单地使用 IDLE 进行开发。为了从命令行使用 3.2,python
我尝试重新排序我的$PATH
变量。如下所示~/.profile
:
PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin
但是,python
仍然启动 2.6.1:
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$
经过一段时间的挣扎,我决定应该卸载 3.2 并尝试更新 Python 的系统安装。我不确定如何正确地做到这一点,所以我要么需要使用命令行让 3.2 工作,要么更新 2.6.1。
答案1
我刚刚通过在我的 Mac OS X Lion 上安装 Python 3.2.2 解决了这个问题,所以我想我会发布我如何做到这一点,希望有人会觉得它有用。
首先,我同意 shadesandcolour 的观点,你不应该修改 Mac 自带的 Python 默认副本,因为在使用 Python 3.0+ 解释器运行时,某些脚本可能无法正常工作。话虽如此,要安装最新的 Python(本文发布时为 3.2.2),你应该首先下载从官方网站下载 Python 安装程序。按常规安装。运行 /Applications/Python(ver) 文件夹中的“Update Shell Profile.command”文件。
安装 python 后,您需要通过在命令行中输入“sudo nano /etc/paths”来编辑路径。接下来,在提示时输入您的密码。接下来只需“剪切”行“/usr/local/bin”并将其“粘贴”在“/usr/bin”出现之前。保存文件,关闭所有打开的终端并运行新的终端实例。现在,当您在命令行中输入“python”时,shell 将首先搜索 /usr/local/bin 并运行最新的 python 副本。
答案2
根据我的经验,使用符号链接以及正确排序的 PATH 是让多个版本的 Python 在 OS X 或我能想到的任何其他 nix 中共存的方法。OS X 只是有点傻乎乎的,但它的工作方式是一样的。
首先通过运行以下命令来获取全貌:
which python
然后:
ls -la /usr/bin/python*
并与以下进行比较:
ls -la /usr/local/bin/python*
查看符号链接指向的位置。
根据您发布的 PATH,由于 /usr/bin 位于 /usr/local/bin 和其他目录之后,因此您可能正在使用系统 python 解释器:
/usr/bin/python
如果你安装了 python3.0,它可能会运行如下:
/usr/local/bin/python
现在您知道了指向哪里的内容以及从 PATH 加载了哪个解释器,您可以对 PATH 和/或符号链接进行适当的更改。然后,您可以使用相同的技术来确认正确的更改。
有关在 macOS 上安装 Python 的更多详细信息,请参阅深入研究 Python3和农场开发。
答案3
也许如果你通过 MacPorts 安装 Python,它会升级系统版本。我实际上怀疑不会,因为这对我来说似乎有点冒险。但你可能想看看当你用 MacPorts 安装 Python 时它会做什么。
答案4
如果您使用安装程序,您的 python 位于 /usr/local/bin/python3。路径也应自动更新,以便python3
在您的终端中可用。旧版本python
仍然可用,并可能被其他系统使用。