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

时间:2010-06-25 11:35:11

标签: python 32bit-64bit

我有win7 64bit安装。我必须使用Python 64bit吗? 32位和64位Python版本之间有什么区别?不同的Python包(例如south,django,mysqldb等)是否只支持32bit \ 64bit?

7 个答案:

答案 0 :(得分:77)

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

例如,如果您的应用需要> 2GB的RAM,所以你从32位切换到64位你可能会发现你的应用现在需要> 4GB内存。

检查所有第三方模块是否以64位可用,否则在此期间可能更容易坚持32位

答案 1 :(得分:17)

根据我的经验,使用32位版本更加无故障。除非您正在处理大量使用内存的应用程序(主要是科学计算,使用超过2GB的内存),否则您最好使用32位版本,因为:

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

答案 2 :(得分:6)

您不需要使用64位,因为Windows将使用wow64模拟32位程序。但使用原生版本(64位)可以提供更多性能。

答案 3 :(得分:4)

仅当您需要处理大量数据时才使用64位版本,在这种情况下,64位版本表现更好,而John La Rooy说的不方便;如果没有,请坚持使用32位。

答案 4 :(得分:1)

我在32位运行python应用程序(运行大型数据帧)时遇到问题 - 得到了MemoryError消息,而在64位它运行正常。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

自从收到 Torch 安装错误后,我一直使用 32 位版本。然后我下载64位python问题解决了。