web-dev-qa-db-fra.com

Devrais-je utiliser Python 32bit ou Python 64bit

J'ai une installation Win7 64bit. Dois-je utiliser Python 64bit? Quelles sont les différences entre les versions Python 32 bits et 64 bits de toute façon? Est-ce que différents paquets Python (tels que south, Django, mysqldb, etc.) ne prennent en charge que 32 bits\64 bits?

108
Jonathan

La version 64 bits permettra à un processus unique d’utiliser plus de RAM que de 32 bits. Toutefois, l’empreinte mémoire risque de doubler en fonction de ce que vous stockez dans RAM (entiers en particulier).

Par exemple, si votre application nécessite plus de 2 Go de RAM, si vous passez de 32 bits à 64 bits, vous constaterez peut-être que votre application nécessite désormais plus de 4 Go de RAM.

Vérifiez si tous vos modules tiers sont disponibles en 64 bits, sinon il sera peut-être plus facile de s'en tenir à 32 bits entre-temps

76
John La Rooy

D'après mon expérience, l'utilisation de la version 32 bits est plus simple. Sauf si vous travaillez sur des applications qui utilisent beaucoup de mémoire (principalement de l'informatique scientifique, qui utilise plus de 2 Go de mémoire), les versions 32 bits sont préférables pour les raisons suivantes:

  1. Vous utilisez généralement moins de mémoire.
  2. Vous avez moins de problèmes avec COM (puisque vous êtes sous Windows).
  3. Si vous devez charger des DLL, elles sont probablement aussi en 32 bits. Python 64 bits ne peut pas charger de bibliothèques 32 bits sans des hacks lourds exécutant un autre Python, cette fois en 32 bits et utilisant IPC.
  4. Si vous devez charger des DLL que vous compilez vous-même, vous devrez les compiler en 64 bits, ce qui est généralement plus difficile à faire (spécialement si vous utilisez MinGW sous Windows).
  5. Si vous utilisez jamais PyInstaller ou py2exe, ces outils généreront des exécutables avec le même nombre de bits que votre interpréteur Python.
17
Ronan Paixão

Vous n'avez pas besoin d'utiliser 64 bits, car Windows émule les programmes 32 bits à l'aide de wow64. Mais l'utilisation de la version native (64 bits) vous donnera plus de performance.

6
codymanix

Utilisez la version 64 bits uniquement si vous devez travailler avec de grandes quantités de données. Dans ce scénario, les performances de 64 bits sont meilleures avec l'inconvénient de John La Rooy. sinon, restez avec les 32 bits.

3
Frismaury

J'ai eu du mal à exécuter l'application python (exécution de grandes trames de données) dans 32 - j'ai reçu un message MemoryError, alors que cela fonctionnait bien sur 64.

0
AlKo