替换MacOS X默认的Python解释器是否安全?

时间:2010-09-16 01:56:42

标签: python macos python-3.x python-2.x

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

3 个答案:

答案 0 :(得分:8)

如果您只使用Python 3,请使用以下命令启动脚本:

#! /usr/bin/env python3.1

你将使用正确的版本,而无需考虑系统。

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

答案 1 :(得分:2)

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

请尝试使用VirtualEnv

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

答案 2 :(得分:1)

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

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

defaults write com.apple.versioner.python Version 3.1

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

export VERSIONER_PYTHON_VERSION=3.1