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


143

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


回答:


91

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

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

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


13
Afaik、MysqlDBには64ビットのバイナリはありません。それが、32ビットのPythonを使用する理由です。
Jochen Ritzel、2010年

12
サードパーティのモジュールは本当に64ビットを明示的にサポートする必要がありますか?
ジョナサン

8
私は過去数か月間(この投稿から5年)に64ビットPython 2.7を使用していますが、それだけの価値はあると思いますが、多くの時間を無駄にしたくない場合は、そのすべてのRAMにアクセスできると非常に便利です。データの管理-64ビットバージョンを取得するのが少し面倒であるか、ほとんどの場合使用がほぼ不可能であるライブラリがいくつかあります(32ビットDLLは、私が管理せずに利用できなかったリソースの1つの例です) 32ビットバージョンのPythonをロードする)
Darren Ringer

12
反対もあります。テンソルフローは、ビルドする場合を除いて、Windowsの64ビットpythonでのみ使用できます。
TrakJohnson 2017年

28

私の経験では、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インタープリターと同じビット数で実行可能ファイルを生成します。

6

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


4

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


2

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


0

tensorflow 2.xなどの機械学習パッケージは、メモリを大量に消費するため、64ビットPythonでのみ動作するように設計されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.