如果我从 Python 网站下载 Python 并尝试使用安装程序进行安装,它会安装,但我需要在从终端运行程序时指定我想要新版本的 Python。如果我只输入:
python app.py
它与旧版本一起运行。
我如何将新版本设置为默认版本?
答案1
我终于找到了方法。安装程序在 /Application 中创建了一个 python 2.6 文件夹,此文件夹中有一个名为 Update Shell Profile.command 的脚本,我只需执行它,它就可以正常工作了。
答案2
两个问题:
- 新的 Python 安装在哪里?
- 你的 $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