无法将系统自带的Python 2.7.2更改为3.2.2 (OS10.7)

1 投票
2 回答
1981 浏览
提问于 2025-04-17 02:58

在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”命令

撰写回答