I looked into the code for platform.architecture(), and it basically
runs the "file" command on /usr/bin/python. If the output contains
the string "64-bit", it will return "64bit" as the first tuple. So it
depends on what real question you are trying to answer, because in
SnowLeopard, /usr/bin/python is a wrapper program that does all the
versioning, reading preference files, etc, and is independent of the
real python executable: /System/Library/Frameworks/Python.framework/
Versions/2.6/Resources/Python.app/Contents/MacOS/Python.
Testing sys.maxint answers the question whether the current python in
running in 32 or 64-bit mode. platform.architecture() just tells if
the wrapper is "capable" of running 64-bit (it will run 64-bit by
default on 64-bit architectures, but could actually be running 32-bit,
either by choice or on 32-bit only hardware), and doesn't say anything
about the real python executable.
Ed
On Sep 18, 2009, at 5:46 PM, Bill Janssen wrote:
I think I'm just going to put '32bit' or '64bit' in my installer
name strings.
Bill
e...@apple.com wrote:
On Sep 18, 2009, at 5:05 PM, Bill Janssen wrote:
William Kyngesburye <wokl...@kyngchaos.com> wrote:
If you run the CLI 'uname -m' on any Intel Mac, it always has
returned
i386. So all it really means is 'Intel'.
On Sep 18, 2009, at 5:53 PM, Bill Janssen wrote:
I'm running /usr/bin/python on SL, and
import platform; print platform.machine()
give me
i386
But Activity Monitor shows Python as "Intel (64-bit)".
Is this a bug in platform.machine(), or am I misunderstanding what
i386
means? "platform.architecture()" returns ('64bit', '').
Hmmm. So what's the pythonic way of getting i386 vs. x86_64?
{'32bit': 'i386', '64bit': 'x86_64'}[platform.architecture()[0]]
seems so complicated that there should be a routine for it in sys or
platform.
I don't know the "official" way, but what I do is:
% python -c 'import sys;print sys.maxint'
9223372036854775807
% env VERSIONER_PYTHON_PREFER_32_BIT=1 python -c 'import sys;print
sys.maxint'
2147483647
So I would look at sys.maxint to determine if python is running 32 or
64-bit.
Ed
_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig