在此帮助页上
http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/python.1.html
苹果说:
更改默认python
使用

       % defaults write com.apple.versioner.python Version 2.5

将使2.5版成为用户在运行
python和pythonw命令(版本管理器
是所用版本选择软件的内部名称)。
这根本不起作用!
tppllc-Mac-Pro:~ swirsky$ python --version
Python 2.7
tppllc-Mac-Pro:~ swirsky$ defaults write com.apple.versioner.python Version 2.5
tppllc-Mac-Pro:~ swirsky$ python --version
Python 2.7

开关也不会使32位python成为默认值
64位支持
版本2.6支持64位执行(默认情况下启用)。
版本2.5只支持32位执行。
与python的版本一样,python命令可以在32之间选择
和64位执行(当两者都可用时)。用途:
       % defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

使32位执行成为用户默认值(使用
/Library/Preferences/com.apple.versioner.python
将设置系统范围的默认值)。环境变量
VERSIONER_PYTHON_PREFER_32_BITcan
也可使用(优先于首选项文件):
       % export VERSIONER_PYTHON_PREFER_32_BIT=yes #

波恩式贝壳或
       % setenv VERSIONER_PYTHON_PREFER_32_BIT yes #

类C壳
我在这里的一个小洞里。我想让wxpython跑。但它不会在苹果的python 2.7上运行,因为它没有64位的碳支持,而cocoa支持还没有在wx中完成。
===更新===
谢谢你的帮助!谜团已经解开了。有一件事让我很困惑,那就是我在笔记本电脑(最近的i5 MacBook Pro)上运行(32位)wxpython没有问题,但它不会在我的桌面(最近的i7 MacBook Pro)上运行。
他们都有python 2.7,我认为它是相同的。但事实并非如此!
Mac Pro有x86_版本
tppllc-Mac-Pro:~ swirsky$ file `which python`
/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 3 architectures
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386):   Mach-O executable i386
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc7400):    Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64

笔记本电脑没有:
thrilllap-2:thrillscience swirsky$ file `which python`
/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc):    Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386):   Mach-O executable i386

我将在我的台式机上重新安装没有x86_版本的,因为我还不需要64位支持。

最佳答案

defaults write com.apple.versioner.pythonVERSIONER_PYTHON_PREFER_32_BIT是Apple开发的更改,仅适用于OS X 10.6(python 2.6.1)中提供的Apple。(更新:这也适用于OS X 10.7 Lion。)您可能已经使用python.org安装程序之一安装了python 2.7。目前有两个2.7安装程序可从python.org获得,一个(10.5及以上版本)同时支持32位和64位。第二个(10.3及以上,包括10.6)仅为32位。大概是你安装了第一个。要让它在32位模式下运行,可以使用/usr/bin/python命令调用它:

$ arch -i386 python2.7

或者,如果您总是想使用32位,可以使用另一个安装程序重新安装2.7。注意,python.org中的64位安装程序在2.7中是新的。而且,不幸的是,它有一些问题,即arch和使用它的程序(包括Tkinter)在OS X 10.6上失败。这将在维护更新中修复。如果您在10.6上需要它们,现在就坚持使用仅32位的安装程序。
命令现在调用2.7最可能的原因是python.org安装程序更新了您的登录配置文件,比如将其framework bin目录放在shell搜索中。
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin: # ...
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ /usr/bin/python
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ^D
$ python
Python 2.7 (r27:82508, Jul  3 2010, 21:12:11)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ^D
$ python -c 'import sys;print("%x"%sys.maxint)'
7fffffffffffffff
$ arch -x86_64 python -c 'import sys;print("%x"%sys.maxint)'
7fffffffffffffff
$ arch -i386 python -c 'import sys;print("%x"%sys.maxint)'
7fffffff

09-10 12:09
查看更多