更换MacOS X默认Python解释器安全吗?

5 投票
3 回答
2250 浏览
提问于 2025-04-16 04:12

我在电脑上安装了默认的Python 2.6.1,路径是/usr/bin/python,还有Python 3.1.2,路径是/usr/local/bin/python3.1。因为我只用3.x的语法,想问一下,能不能用3.1的版本替换掉默认的2.6版本呢?我打算用符号链接来实现这个替换,并且删除旧的Python二进制文件。这样做安全吗?或者说,系统是不是在某些我不知道的地方依赖于2.x版本?

3 个回答

1

除非你真的需要腾出存储空间,否则不要随便替换或删除任何二进制文件。就算真的需要,删除它们带来的好处也不大。

你可以简单地通过以下方式将3.1设置为默认版本:

defaults write com.apple.versioner.python Version 3.1

还有其他方法可以确保你默认使用3.1,不过我没有尝试过那些方法。

export VERSIONER_PYTHON_VERSION=3.1
2

你不能随便替换系统自带的Python。虽然我找不到专门针对Mac的参考资料,但最近的一些Python版本和旧版本不兼容。这意味着很多依赖于旧版本的脚本在升级后的Python上可能无法运行。OS X系统自带Python是因为它有一些依赖关系。

你可以试试使用VirtualEnv

更新:我刚发现了来自macports的python-select,这可能会解决你的问题。

8

如果你只使用Python 3,开始你的脚本时可以加上:

#! /usr/bin/env python3.1

这样你就能用对的版本,而不用担心影响系统的其他部分。

补充一下:这个想法是Python官方文档推荐的。每个脚本都会运行它所依赖的Python版本。因为Python 3和之前的版本不兼容,所以把Python的执行文件替换成一个可能会导致其他工具出错的版本,听起来是个危险的做法。

撰写回答