Para Python 2.6 y superiores, se puede utilizar como se documenta sys.maxsize
here:
import sys
is_64bits = sys.maxsize > 2**32
ACTUALIZACIÓN: Me he dado cuenta de que realmente no responder a la pregunta planteada. Si bien la prueba anterior le indica con precisión si el intérprete se está ejecutando en una arquitectura de 32 bits o de 64 bits, no responde ni puede responder a la pregunta de cuál es el conjunto completo de arquitecturas para el que se construyó este intérprete. y podría ejecutarse. Como se señaló en la pregunta, esto es importante, por ejemplo, con los archivos ejecutables universales de Mac OS X, donde un archivo ejecutable puede contener código para varias arquitecturas. Una forma de responder esa pregunta es usar el comando del sistema operativo file
. En la mayoría de los sistemas, informará las arquitecturas compatibles de un archivo ejecutable. He aquí cómo hacerlo en una línea desde una línea de comandos shell en la mayoría de los sistemas:
file -L $(python -c 'import sys; print(sys.executable)')
Usando el sistema por defecto de Python en OS X 10.6, la salida es:
/usr/bin/python: Mach-O universal binary with 3 architectures
/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
En un sistema Linux:
/usr/bin/python: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, stripped
por cierto, he aquí un ejemplo de por qué platform
no es confiable para este propósito. Una vez más utilizando el sistema de Python en OS X 10.6:
$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit True
$ arch -i386 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit False
¿Qué sitio de descarga? El sitio de descarga de python.org (http://www.python.org/download/) no proporciona instaladores binarios para Linux, solo Mac OS X y Windows. –
estaba hablando de ese sitio, descargué el archivo tar.bz2. Estaba pensando que para 64 bits tendré el archivo diff tar o el mismo – user2134226
Solo un recordatorio. La mayoría de las distribuciones de Linux tienen instalado Python por defecto, si no es la versión que desea, siempre puede obtener una diferente con su administrador de paquetes. Construir desde cero podría romper su instalación de Python por defecto y empalar las funciones del sistema. –