GNU/Linux >> Tutoriales Linux >  >> Linux

Qué comando usar para verificar si Python es de 64 bits o de 32 bits

Primero, abra cmd y escriba

$ python

Luego, escribe las siguientes dos líneas

>>> import platform

>>> platform.architecture()

Escriba en la consola de Linux:

  1. En caso de que desee verificar si una aplicación tiene una arquitectura de 64 bits o de 32 bits usando su comando para ejecutar:
type -p <command_to_run_application> | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
  1. En caso de que desee verificar si una aplicación tiene una arquitectura de 64 bits o de 32 bits utilizando la ruta completa a la aplicación:
file -b <full_path_to_an_application> | sed 's/, /\n/g' | sed -n 2p

Por ejemplo, para Python 3 los comandos correspondientes pueden ser:

type -p python3 | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
file -b /usr/bin/python3.5 | sed 's/, /\n/g' | sed -n 2p

Salida posible:

x86-64

o

Intel 80386

o

ARM

u otro.

Si la salida es "Intel 80386", la aplicación tiene una arquitectura de 32 bits.

Si la salida es "x86-64", la aplicación tiene una arquitectura de 64 bits.


import platform
platform.architecture()[0]
#'32bit'

Para Python 2.6 y superior, puede usar sys.maxsize como se documenta aquí:

import sys
is_64bits = sys.maxsize > 2**32

ACTUALIZACIÓN:Me doy cuenta de que realmente no respondí la pregunta planteada. Si bien la prueba anterior le dice con precisión si el intérprete se ejecuta 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 las que se creó este intérprete. y podría ejecutarse. Como se señaló en la pregunta, esto es importante, por ejemplo, con los ejecutables universales de Mac OS X, donde un archivo ejecutable puede contener código para varias arquitecturas. Una forma de responder a esa pregunta es utilizar el sistema operativo file dominio. En la mayoría de los sistemas, informará sobre las arquitecturas admitidas de un archivo ejecutable. Aquí se explica cómo hacerlo en una línea desde una línea de comando de shell en la mayoría de los sistemas:

file -L $(python -c 'import sys; print(sys.executable)')

Usando el sistema predeterminado Python en OS X 10.6, el resultado 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, aquí hay un ejemplo de por qué platform no es confiable para este propósito. Nuevamente usando el sistema 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

Linux
  1. ¿Qué comando de terminal de Linux usas más?

  2. Cómo usar el comando 'buscar' para buscar varios nombres de archivo (extensiones) en Linux

  3. Cómo usar el comando Su en Linux

  4. ¿Para qué carga de trabajo usó contenedores de Linux por primera vez?

  5. ¿Cómo usar `cuál` en un comando con alias?

Cómo usar el comando SCP para la transferencia de archivos

Linux qué comando

Tutorial de comandos which y whoami de Linux para principiantes (con ejemplos)

15 formas de utilizar el comando Watch de Linux para las actividades cotidianas

Explicación de los comandos Apt vs Apt-get:¿Cuál usar?

Cómo usar el comando which en Linux