get python bit version as in (32 or 64)
nad at acm.org
Wed Oct 20 03:00:20 CEST 2010
<AANLkTimuzUByj7R8MBZPSFAS0ComoBACGt8cVFySquvg at mail.gmail.com>,
Vincent Davis <vincent at vincentdavis.net> wrote:
> On Tue, Oct 19, 2010 at 3:55 PM, Philip Semanchuk <philip at semanchuk.com>
> > On Oct 19, 2010, at 5:38 PM, Hexamorph wrote:
> >> On 19.10.2010 23:18, Vincent Davis wrote:
> >>> How do I get the bit version of the installed python. In my case, osx
> >>> python2.7 binary installed. I know it runs 64 bt as I can see it in
> >>> activity monitor. but how do I ask python?
> >>> sys.version
> >>> '2.7 (r27:82508, Jul 3 2010, 21:12:11) \n[GCC 4.0.1 (Apple Inc. build
> >>> 5493)]'
> >> In : import platform
> >> In : platform.architecture()
> >> Out: ('32bit', 'ELF')
> >> In :
> > Looks a lot better than my suggestion!
It looks better but, unfortunately, it doesn't work correctly on OS X
where a universal build can have both 32-bit and 64-bit executables in
the same file.
$ arch -x86_64 /usr/local/bin/python2.7 -c 'import sys,platform;
(9223372036854775807, ('64bit', ''))
$ arch -i386 /usr/local/bin/python2.7 -c 'import sys,platform;
(2147483647, ('64bit', ''))
At the moment, the sys.maxint trick is the simplest reliable test for
Python 2 on OS X. For Python 3, substitute sys.maxsize.
> Yes that looks like the right way of doing it. Interesting though that
> platform.machine()=i386 and not something about 64.
> >>> print platform.machine()
> >>> print platform.architecture()
> ('64bit', '')
> >>> import sys; sys.maxint
Currently on OS X (10.6 and earlier), uname returns 'i386' for any Intel
platform, 32-bit only or 32-bit /64-bit capable.
$ uname -p
nad at acm.org
More information about the Python-list