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

Jon*_*han 126 python 32bit-64bit

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

Joh*_*ooy 82

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

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

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

  • Afaik,MysqlDB没有64位二进制文​​件 - 这就是我坚持使用32位Python的原因. (12认同)
  • 第三方模块真的需要明确支持64位吗? (11认同)
  • 我过去几个月一直在使用64位Python 2.7(这篇文章发布后的五年)虽然我觉得它绝对值得 - 如果你不想浪费那么多时间,那么访问所有RAM是非常好的管理你的数据 - 仍有几个库要么有点烦人才能获得64位版本,或者在很多情况下几乎不可能使用(32位DLL就是我没有设法利用的资源的一个例子)加载32位版本的Python) (8认同)
  • 还有相反的情况:tensorflow仅适用于Windows上的64位python,除非你想构建它. (8认同)

Ron*_*xão 20

根据我的经验,使用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解释器具有相同位数的可执行文件.

  • 如果您使用tensorflow,则需要64位python (2认同)

cod*_*nix 6

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


Ari*_*nez 5

仅当您必须处理大量数据时才使用 64 位版本,在这种情况下,64 位的性能更好,但有 John La Rooy 所说的不便;如果没有,请坚持使用 32 位。