我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python 3.3,并想将其设置为默认值。

目前:

$ python
    version 2.7.5
$ python3.3
    version 3.3

我如何设置它,以便每次运行$ python时打开3.3?


当前回答

你可以通过符号链接来解决。

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python

其他回答

下面的方法对我很有效

cd /usr/local/bin
mv python python.old
ln -s python3 python

嗯…有点旧了。但仍然值得一个好的答案。

好的一个是You Don't Wanna Touch the Default Python On Mac。

通过Homebrew或其他工具安装任何你需要的Python版本,并在virtualenv中使用它。Virtualenv通常被认为是像垃圾一样的东西,但它仍然比在系统范围内更改python版本(macOS可能会保护自己不受此类操作的影响)或在用户范围内更改python版本要好得多……无论什么。忘掉默认的Python。像venv一样使用游乐场是你的操作系统最感激的。

例如,许多现代Linux发行版去掉了开箱即用的Python2,只在系统中留下Python3。但每次你试图用python2作为依赖项安装旧的东西时……希望你能理解我的意思。优秀的开发人员不关心这些。优秀的开发人员使用他们想要的python版本创建干净的游乐场。

如果您正在使用virtualenvwrapper,您可以使用哪个virtualenvwrapper.sh定位它,然后使用vim或任何其他编辑器打开它,然后更改以下内容

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

将一行VIRTUALENVWRAPPER_PYTHON="$(command \which python)"改为VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"。

如果你使用macports,你不需要使用别名或环境变量,只需使用macports已经提供的方法,以下问答解释:

如何:Macports选择python

TL; diana:

sudo port select --set python python27

我不确定这在OS X上是否可用,但在linux上我会使用模块命令。在这里看到的。

正确地设置模块文件,然后在rc文件中添加如下内容(例如~/.bashrc):

module load python3.3

这将使您的路径在登录时根据需要进行切换,而不会影响任何系统默认值。