无法将系统自带的Python 2.7.2更改为3.2.2 (OS10.7)
在Lion系统上,我从python.org安装了python 3.2.2。这个版本自带一个终端命令,应该可以通过更新我的shell配置文件来把这个版本的python设置为默认的。当我运行这个命令后,再去终端检查默认的python版本,结果还是显示2.7.2,这是苹果自带的版本。
我需要用sudo来运行这个命令,才能把默认的python改成3.2.2吗?
我也试过VERSIONER的方法,但没有成功。
2 个回答
0
我对osX不太熟悉,但因为有些系统应用可能依赖于特定的Python版本,所以直接更改默认版本可能不是个好主意。
一个可能适合你需求的替代方案是使用pythonbrew。它允许你同时安装多个Python版本,并可以为每个用户设置一个默认版本,这样就不用去动系统自带的Python了。对于熟悉Ruby的人来说,它就像RVM,或者说是Python解释器的虚拟环境。它的一个大优点是,你可以轻松安装和使用你需要的确切Python版本,而不受操作系统中可用版本的限制。
以下是一些例子:
安装一个Python解释器:
pythonbrew install 2.7.2
永久使用指定的Python(对于当前用户):
pythonbrew switch 2.7.2
pythonbrew switch 3.2
在当前终端使用指定的Python:
pythonbrew use 2.7.2
运行一个指定的Python文件,针对指定的Python版本和/或所有Python版本:
pythonbrew py test.py
pythonbrew py -v test.py # Show verbose output
pythonbrew py -p 2.7.2 -p 3.2 test.py # Use the specified pythons
pythonbrew的唯一缺点是需要一个编译器和头文件,并且安装可能需要一些时间,因为它是从源代码编译的。
3
对于Python 3的解释器,你需要输入 python3
而不是 python
。
$ python -V
Python 2.7.2
$ python3 -V
Python 3.2.2
想了解为什么现在推荐用 python
来指代Python 2,而用 python3
来指代Python 3,可以查看这个草案 PEP 394 - Unix类系统上的“python”命令。