我应该使用Python 32位还是Python 64位


Answers:


91

64位版本将允许单个进程使用比32位更多的RAM,但是您可能会发现,内存占用量会增加一倍,具体取决于您存储在RAM中的内容(尤其是整数)。

例如,如果您的应用程序需要大于2GB的RAM,那么从32位切换到64位,您可能会发现您的应用程序现在需要大于4GB的RAM。

检查您的所有第三方模块是否都可用64位,否则同时坚持使用32位可能会更容易


13
Afaik,MysqlDB没有64位二进制文​​件-这就是我坚持使用32位Python的原因。
Jochen Ritzel 2010年

12
第三方模块真的需要显式支持64位吗?
乔纳森(Jonathan)2010年

8
在过去的几个月中(本文发布五年后),我一直在使用64位Python 2.7,尽管我会说这绝对是值得的-如果您不想浪费太多时间,可以访问所有RAM管理数据-仍然有一些库可能有点烦人以获得64位版本,或者在许多情况下几乎是无法使用的(32位DLL就是此类资源的一个示例,我没有设法利用它加载32位版本的Python)
Darren Ringer 2015年

12
也有相反的情况:tensorflow仅适用于Windows上的64位python,除非您要构建它。
TrakJohnson

28

以我的经验,使用32位版本会更轻松。除非您正在处理大量使用内存的应用程序(大多数情况下是科学计算,使用的内存超过2GB),否则最好使用32位版本,因为:

  1. 通常,您使用较少的内存。
  2. 使用COM的问题更少(因为您在Windows上)。
  3. 如果必须加载DLL,则它们很可能也是32位的。如果没有一些笨拙的代码运行另一个Python(这次是32位并使用IPC),则Python 64位无法加载32位库。
  4. 如果必须加载自己编译的DLL,则必须将它们编译为64位,这通常较难做到(特别是在Windows上使用MinGW时)。
  5. 如果您曾经使用PyInstaller或py2exe,这些工具将生成与Python解释器相同位的可执行文件。

6

您不需要使用64位,因为Windows将使用wow64模拟32位程序。但是使用本机版本(64位)将为您带来更高的性能。



2

我在32中运行python应用程序(运行大型数据帧)时遇到了麻烦-收到MemoryError消息,而在64上运行良好。


0

像tensorflow 2.x这样的机器学习软件包被设计为仅在64位Python上运行,因为它们占用大量内存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.