5

我将默认 Python 2.6.1 安装为/usr/bin/python,Python 3.1.2 安装在/usr/local/bin/python3.1. 考虑到我只使用 3.x 语法,使用符号链接(并删除旧的 Python 二进制文件)将默认解释器(2.6)替换为 3.1 解释器(包括 python-config)是否安全?还是系统出于某种我不知道的目的而依赖 2.x 版本?

4

3 回答 3

8

如果您只使用 Python 3,请使用以下命令开始您的脚本:

#! /usr/bin/env python3.1

而且您将使用正确的版本,而无需担心系统。

编辑:顺便说一句,这个想法是由 Python 文档提出的。每个脚本都将运行它们所依赖的 Python 版本。由于 Python 3 不向后兼容,因此将 Python 可执行文件替换为会破坏其他实用程序可能依赖的脚本的可执行文件似乎很危险。

于 2010-09-16T02:18:06.797 回答
2

您不能安全地替换系统提供的 python。我无法为您找到特定于 Mac 的参考资料……但最近的一些 Python 版本不向后兼容……许多依赖于旧版本 Python 的脚本将无法在升级后的 Python 上运行。OS X 预装了 Python,因为它依赖于它。

尝试改用VirtualEnv

更新:刚从 macports 遇到python-select可能会解决您的问题。

于 2010-09-16T02:21:02.237 回答
1

除非您迫切需要存储,否则不要替换/删除任何二进制文件。在那种情况下,移除它们的里程也很少。

您可以简单地将 3.1 设为默认:

defaults write com.apple.versioner.python Version 3.1

还有其他方法可以确保您默认使用 3.1,不过我没有使用它们。

export VERSIONER_PYTHON_VERSION=3.1
于 2010-09-16T02:00:39.147 回答