Python >> Tutoriel Python >  >> Python

Python Version Bit - Mon shell Python fonctionne-t-il en version 32 bits ou 64 bits ?

Pour vérifier quelle version de bit l'installation de Python sur votre système d'exploitation prend en charge, exécutez simplement la commande "python " (sans les guillemets) dans votre ligne de commande ou PowerShell (Windows), terminal (Ubuntu, macOS) ou shell (Linux). Cela ouvrira le mode Python interactif. La première ligne indique s'il s'agit d'une version 32 bits ou 64 bits.

Alternativement, vous pouvez également exécuter la commande "py ” si la commande “python " n'est pas dans votre variable d'environnement sur votre machine Windows.

Voici la sortie sur mon ordinateur (PowerShell) qui montre que Python s'exécute dans une version 64 bits dans la partie [MSC v.1928 64 bit (AMD64)] :

PS C:\Users\xcent> python
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Et voici une capture d'écran :

Utiliser sys.version

Dans certains environnements tels que macOS ou certaines versions de Linux, il se peut que vous ne voyiez pas le nombre de bits dans la sortie. Vous pouvez le sortir manuellement en utilisant le sys.version informations.

>>> import sys
>>> sys.version
'3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]'

Méthode arithmétique pour vérifier la version du bit

Vous pouvez également le calculer manuellement dans un petit script Python à deux lignes :

import struct
print(struct.calcsize("P") * 8)

La sortie est soit "32" ou "64" selon que vous exécutez une version Python 32 bits ou 64 bits :

# Output: 
# "32" for a 32-bit installation, or "64" for 64-bit

Voici l'explication de l'approche arithmétique pour calculer la version binaire de Python :

Le struct le module convertit les données entre les valeurs Python et les structures C à l'aide de Python bytes objets. L'argument de chaîne "P" représente un pointeur générique en C. Voici l'essentiel :un pointeur a 4 octets sur un système 32 bits et 8 octets sur un système 64 bits. Le calcsize() calcule le nombre d'octets pour le pointeur et le multiplie par 8 car 4*8 =32 pour un système 32 bits et 8*8 =64 pour un système 64 bits. Ainsi, struct.calcsize("P") renvoie votre "Python Bit Version".