为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

弑天下 2019-11-11 14:35:52
当我从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位问题使我不满意,我敢肯定有些命令/工具会使此操作变得容易。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

修复与Snow Leopard上的virtualenv一起使用


当我不使用virtualenv时,danielrsmith的答案对我有用,但是virtualenv制作了python可执行文件的一个副本,这导致它不起作用:


$ which python

/Users/cogg/.virtualenvs/tweakeats/bin/python


$ python

[...]

>>> import sys

>>> sys.maxint

9223372036854775807

因为这是python的副本,所以我在其上使用lipo删除了64位体系结构。这使我可以在virtualenv中使用32位python 2.6:


$ lipo -info /Users/cogg/.virtualenvs/tweakeats/bin/python

Architectures 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.maxint

2147483647


查看完整回答
反对 回复 2019-11-11
  • 3 回答
  • 0 关注
  • 408 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信