更换MacOS X默认Python解释器安全吗?
我在电脑上安装了默认的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的执行文件替换成一个可能会导致其他工具出错的版本,听起来是个危险的做法。