如何在Snow Leopard和其他32位/ 64位问题上强制将Python设置为32位

当我从Mac上的bash shell运行以下命令时:


$ file /usr/bin/python

我得到以下三行:


/usr/bin/python (for architecture x86_64):  Mach-O 64-bit executable x86_64

/usr/bin/python (for architecture i386):    Mach-O executable i386

/usr/bin/python (for architecture ppc7400): Mach-O executable ppc

这似乎表明Python已经针对所有三种架构进行了编译?基于我在尝试安装MySQL时遇到的一些错误,我相信我使用的版本是64位版本。有两个问题:


我怎么知道呢?


如何更改Python为32位呢?有没有比使用不同的编译设置重新编译大得多的东西了?


为什么arch从bash shell返回的消息i386似乎表明我不在“ 64位模式”,当我基于处理器知道我正在运行64位Mac时?


抱歉,这些可能都是新手问题,整个32/64位问题使我不满意,我敢肯定有些命令/工具会使此操作变得容易。


弑天下
浏览 409回答 3
3回答

米琪卡哇伊

修复与Snow Leopard上的virtualenv一起使用当我不使用virtualenv时,danielrsmith的答案对我有用,但是virtualenv制作了python可执行文件的一个副本,这导致它不起作用:$ which python/Users/cogg/.virtualenvs/tweakeats/bin/python$ python[...]>>> import sys>>> sys.maxint9223372036854775807因为这是python的副本,所以我在其上使用lipo删除了64位体系结构。这使我可以在virtualenv中使用32位python 2.6:$ lipo -info /Users/cogg/.virtualenvs/tweakeats/bin/pythonArchitectures in the fat file: /Users/cogg/.virtualenvs/tweakeats/bin/python are: x86_64 i386 ppc7400$ mv /Users/cogg/.virtualenvs/tweakeats/bin/python /Users/cogg/.virtualenvs/tweakeats/bin/python.old$ lipo -remove x86_64 /Users/cogg/.virtualenvs/tweakeats/bin/python.old -output /Users/cogg/.virtualenvs/tweakeats/bin/python$ python[...]>>> import sys>>> sys.maxint2147483647
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python