146 votes

Dois-je utiliser Python 32 bits ou Python 64 bits ?

J'ai une installation win7 64bit. Dois-je utiliser Python 64bit ? De toute façon, quelles sont les différences entre les versions 32bit et 64bit de Python ? Est-ce que les différents paquets Python (tels que south, django, mysqldb etc.) ne supportent que 32bit/64bit ?

2 votes

96voto

gnibbler Points 103484

La version 64 bits permet à un seul processus d'utiliser plus de RAM que la version 32 bits, mais vous pouvez constater que l'empreinte mémoire double en fonction de ce que vous stockez en RAM (les entiers en particulier).

Par exemple, si votre application nécessite > 2 Go de RAM et que vous passez de 32 à 64 bits, vous risquez de constater que votre application nécessite désormais > 4 Go de RAM.

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

14 votes

A ce jour, il n'existe pas de binaires 64 bits pour MysqlDB - c'est la raison pour laquelle je m'en tiens à Python 32 bits.

13 votes

Les modules tiers doivent-ils vraiment supporter explicitement le 64 bits ?

8 votes

J'utilise Python 2.7 en 64 bits depuis plusieurs mois (cinq ans après cet article) et même si je dirais que cela en vaut vraiment la peine - avoir accès à toute cette RAM est plutôt agréable si vous ne voulez pas perdre autant de temps à gérer vos données - il y a encore plusieurs bibliothèques qui sont soit légèrement ennuyeuses à obtenir en version 64 bits, soit dans de nombreux cas presque impossibles à utiliser (les DLL 32 bits sont un exemple de ressource que je n'ai pas encore réussi à exploiter sans charger une version 32 bits de Python).

32voto

Ronan Paixão Points 11

D'après mon expérience, l'utilisation de la version 32 bits est plus facile. À moins que vous ne travailliez sur des applications qui font un usage intensif de la mémoire (principalement l'informatique scientifique, qui utilise plus de 2 Go de mémoire), il est préférable d'utiliser les versions 32 bits car :

  1. Vous utilisez généralement moins de mémoire.
  2. Vous avez moins de problèmes à utiliser COM (puisque vous êtes sous Windows).
  3. Si vous devez charger des DLL, elles sont très probablement aussi en 32 bits. Python 64 bits ne peut pas charger de bibliothèques 32 bits sans avoir recours à de lourdes manipulations en exécutant un autre Python, cette fois en 32 bits, et en utilisant l'IPC.
  4. Si vous devez charger des DLL que vous avez compilées vous-même, vous devrez les compiler en 64 bits, ce qui est généralement plus difficile à faire (surtout si vous utilisez MinGW sous Windows).
  5. Si vous avez déjà utilisé PyInstaller ou py2exe, ces outils génèrent des exécutables avec le même bitness que votre interpréteur Python.

1 votes

Si vous utilisez tensorflow, vous avez besoin de python 64 bits

6voto

codymanix Points 12119

Vous n'avez pas besoin d'utiliser 64bit puisque Windows émulera les programmes 32bit en utilisant wow64. Mais l'utilisation de la version native (64bit) vous donnera plus de performance.

5voto

Ariel Jiménez Points 111

N'utilisez la version 64 bits que si vous devez travailler avec de grandes quantités de données ; dans ce cas, la version 64 bits est plus performante, avec les inconvénients signalés par John La Rooy ; sinon, restez sur la version 32 bits.

3voto

AlKo Points 31

J'ai eu des difficultés à faire fonctionner une application python (avec de grands cadres de données) en 32 - j'ai obtenu un message MemoryError, alors que cela fonctionnait bien en 64.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X