Mac OS X 10.10 Mac 端口 Python select

Mac OS X 10.10 MacPorts Python select

我在我的 Mac 上安装了 Python 2.7,带有 Mac 端口 (https://www.macports.org/)。

安装后,我将 $PATH 变量设置为包含工作正常的 MacPorts 目录:

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

然后我设置我想使用 python-选择器的版本:

$ sudo port select --set python python27

来自此列表:

$ sudo port select --list python
Password:
Available versions for python:
    none
    python26-apple
    python27 (active)
    python27-apple
    python34

现在进行测试,如果一切正常,我会这样做并得到奇怪的结果:

$ which python
python is /opt/local/bin/python
python is /usr/bin/python

所以现在我不确定发生了什么。 Python 终端使用了正确的版本,到目前为止一切似乎都在工作。但我原以为只有一个 python 版本处于活动状态。这很糟糕吗?有什么我可以或必须做的吗?

我不确定你的 which 来自哪里(检查 which which)以及你是否隐式地将任何标志传递给 which(检查 type which) ,但如果您调用 which -a python.

,这就是我期望的输出

顺便说一句,如果你想知道当你输入 python 时你的 shell 会做什么,你应该使用 type python,这是一个 [=27] =] 内置。它的优点是使用 shell 的缓存(因此它不会显示 /opt/local/bin/python 而键入 python 仍然给你 /usr/bin/python 因为你没有 运行 hash -r 或打开一个新的 shell) 并考虑 shell 别名和函数。

长话短说:看起来很好。