web-dev-qa-db-ja.com

Python 32ビットまたはPython 64ビットを使用する必要があります

Win7 64ビットのインストールがあります。 Python 64ビットを使用する必要がありますか?とにかく32ビットと64ビットPythonバージョンの違いは何ですか?異なるPythonパッケージ(south、Django、mysqldbなど)は32ビット\ 64ビットのみをサポートしていますか?

121
Jonathan

64ビットバージョンでは、単一プロセスで32ビットよりも多くのRAMを使用できますが、RAM(特に整数)に格納しているものによってメモリフットプリントが2倍になることがあります。 。

たとえば、アプリで2 GBを超えるRAMが必要な場合、32ビットから64ビットに切り替えると、アプリで4 GBを超えるRAMが必要になることがあります。

すべてのサードパーティモジュールが64ビットで利用可能かどうかを確認します。そうでない場合は、その間に32ビットに固執する方が簡単かもしれません

78
John La Rooy

私の経験では、32ビットバージョンを使用する方が問題はありません。メモリを大量に使用するアプリケーション(主に2GBを超えるメモリを使用する科学計算)で作業している場合を除き、32ビットバージョンの方が優れています。

  1. 通常、使用するメモリは少なくなります。
  2. COMの使用に関する問題が少なくなります(Windowsを使用しているため)。
  3. DLLをロードする必要がある場合、おそらくDLLも32ビットです。 Python 64ビットは、今回は32ビットで、別のPythonを実行し、IPCを使用するいくつかの重いハックなしに32ビットライブラリをロードできません。
  4. 自分でコンパイルしたDLLをロードする必要がある場合、それらを64ビットにコンパイルする必要がありますが、これは通常困難です(特にWindowsでMinGWを使用している場合)。
  5. PyInstallerまたはpy2exeを使用する場合、これらのツールはPythonインタープリターと同じビット数の実行可能ファイルを生成します。
19
Ronan Paixão

Windowsはwow64を使用して32ビットプログラムをエミュレートするため、64ビットを使用する必要はありません。ただし、ネイティブバージョン(64ビット)を使用すると、パフォーマンスが向上します。

6
codymanix

64ビットバージョンは、大量のデータを処理する必要がある場合にのみ使用してください。そのシナリオでは、John La Rooyが言った不便さで64ビットのパフォーマンスが向上します。そうでない場合は、32ビットのままにします。

4
Ariel Jiménez

32でpythonアプリ(大きなデータフレームを実行)を実行するのに問題がありました-MemoryErrorメッセージが表示されましたが、64では正常に機能しました。

2
AlKo