web-dev-qa-db-de.com

Sollte ich Python 32bit oder Python 64bit verwenden?

Ich habe eine win7 64bit-Installation. Muss ich Python 64bit verwenden? Was sind die Unterschiede zwischen der 32-Bit- und der 64-Bit-Python-Version? Unterstützen unterschiedliche Python-Pakete (wie south, Django, mysqldb usw.) nur 32bit\64bit?

108
Jonathan

Bei der 64-Bit-Version kann ein einzelner Prozess mehr RAM als 32 Bit verwenden. Es kann jedoch sein, dass sich der Speicherbedarf verdoppelt, je nachdem, was Sie in RAM speichern (insbesondere Ganzzahlen).

Wenn Ihre App beispielsweise> 2 GB RAM benötigt, so dass Sie von 32 Bit auf 64 Bit wechseln, stellen Sie möglicherweise fest, dass Ihre App jetzt> 4 GB RAM benötigt.

Prüfen Sie, ob alle Module von Drittanbietern in 64 Bit verfügbar sind. Andernfalls ist es möglicherweise einfacher, in der Zwischenzeit auf 32 Bit zu bleiben

76
John La Rooy

Nach meiner Erfahrung ist die Verwendung der 32-Bit-Version störungsfreier. Wenn Sie nicht mit Anwendungen arbeiten, die viel Speicherplatz beanspruchen (meist wissenschaftliches Computing, das mehr als 2 GB Arbeitsspeicher benötigt), sind 32-Bit-Versionen besser geeignet, weil:

  1. Sie benötigen im Allgemeinen weniger Speicher.
  2. Sie haben weniger Probleme mit COM (da Sie Windows verwenden).
  3. Wenn Sie DLLs laden müssen, sind sie höchstwahrscheinlich auch 32-Bit. Python 64-Bit kann keine 32-Bit-Bibliotheken laden, ohne dass einige schwere Hacks einen anderen Python ausführen, diesmal in 32-Bit und mit IPC.
  4. Wenn Sie DLLs laden müssen, die Sie selbst kompilieren, müssen Sie sie auf 64-Bit kompilieren, was in der Regel schwieriger ist (insbesondere bei Verwendung von MinGW unter Windows).
  5. Wenn Sie PyInstaller oder py2exe verwenden, werden mit diesen Tools ausführbare Dateien mit der gleichen Bitgröße Ihres Python-Interpreters generiert.
17
Ronan Paixão

Sie müssen 64-Bit nicht verwenden, da Windows 32-Bit-Programme mit wow64 emuliert. Wenn Sie jedoch die native Version (64-Bit) verwenden, erhalten Sie mehr Leistung.

6
codymanix

Verwenden Sie die 64-Bit-Version nur, wenn Sie mit großen Datenmengen arbeiten müssen. In diesem Szenario leisten die 64-Bit-Versionen eine bessere Leistung, da John La Rooy dies als ungünstig empfunden hat. Wenn nicht, bleiben Sie bei den 32 Bits.

3
Frismaury

Ich hatte Probleme beim Ausführen der Python-App (Ausführen großer Datenframes) in 32 - bekam die MemoryError-Nachricht, während auf 64 die Funktion einwandfrei war.

0
AlKo