如何在 Mac OS X 上正确更新 Python

如何在 Mac OS X 上正确更新 Python

如果我从 Python 网站下载 Python 并尝试使用安装程序进行安装,它会安装,但我需要在从终端运行程序时指定我想要新版本的 Python。如果我只输入:

python app.py

它与旧版本一起运行。

我如何将新版本设置为默认版本?

答案1

我终于找到了方法。安装程序在 /Application 中创建了一个 python 2.6 文件夹,此文件夹中有一个名为 Update Shell Profile.command 的脚本,我只需执行它,它就可以正常工作了。

答案2

两个问题:

  1. 新的 Python 安装在哪里?
  2. 你的 $PATH 是什么样的?

类 Unix 系统的默认设置是,用户安装的软件安装在 /usr/local/bin 中,大多数 *nix 发行版都将该目录放在默认 $PATH 变量中的系统范围目录(这是 shell 知道在哪里查找程序的方式)。这样,如果您安装新程序,新程序会首先被找到。

但是,默认的 OS X $PATH 如下所示:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

问题是,在/usr/本地/bin到目前为止,系统范围的 Python(位于/usr/bin以及您 $PATH 中的早期版本)一直受到攻击。

我的答案是让我的 $PATH 在 Mac 上看起来像这样:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

为此,创建一个文件。轮廓在你的主目录中添加如下内容:

#### Let's take care of our $PATH
# A backup of the original $PATH
# /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

# My preferred order - /usr/local goes first, damn it!
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

编辑:我在这里跟进,而不是在评论中,因为评论太长了。你的。轮廓来自/sw/bin/init.sh包管理器芬克,我假设你使用过(或曾经使用过)。另一行似乎表明你曾经安装了 MacPython,它$PATH为你重写了你的代码。我不知道 MacPython,但如果它是本网站,那么它自 2004 年以来就没有更新过。它似乎也没有提到 10.3 以外的任何 OS X 版本,这个版本不是很新。

所以现在我更困惑了:你什么时候更新 Python?你是如何更新它的?你运行的是哪个版本的 OS X?

答案3

找出 python 所在的位置:

$ which python
/usr/bin/python

查看它是否是符号链接:

$ ls -Fal /usr/bin/python
lrwxr-xr-x  1 root wheel  72 May 19 12:02 /usr/bin/python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python

如果是这样,请将 /usr/bin/python 链接到新的 python:

$ sudo ln -s (new python, maybe /System/Library/Frameworks/Python.framework/Versions/2.x/bin/python) /usr/bin/python

检查是否有效:

$ python --version
Python 2.xxx

相关内容