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

我应该使用Python 32位还是Python 64位,python,32bit-64bit,Python,32bit 64bit,我有一个win7 64位安装。我必须使用Python 64位吗?32位和64位Python版本之间有什么区别?不同的Python包(如south、django、mysqldb等)是否只支持32位/64位?您不需要使用64位,因为windows将使用wow64模拟32位程序。但是使用本机版本(64位)将提供更高的性能。64位版本将允许单个进程使用多于32位的RAM,但是您可能会发现内存占用会加倍,具体取决于您在RAM中存储的内容(特别是整数) 例如,如果你的应用程序需要大于2GB的RAM,那么你从

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

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

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

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


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

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

根据我的经验,使用32位版本更容易解决问题。除非您正在开发大量使用内存的应用程序(主要是科学计算,使用的内存超过2GB),否则最好使用32位版本,因为:

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

  • 我在32-Get MemoryError消息中运行python应用程序(运行大数据帧)时遇到问题,而在64上它运行得很好。

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

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

    Afaik,MysqlDB没有64位二进制文件-这就是我坚持使用32位python的原因。第三方模块真的需要显式支持64位吗?我已经使用64位python 2.7好几个月了(这篇文章发表五年之后)尽管我想说这绝对是值得的——如果你不想浪费那么多时间管理数据,那么访问所有的RAM是非常好的——但仍然有几个库,它们要么稍微令人讨厌,难以获得64位版本,要么在许多情况下几乎无法使用(32位DLL就是这样一个资源示例,我还没有在不加载32位版本的Python的情况下设法利用它)还有相反的情况:tensorflow仅适用于windows上的64位Python,除非您想要构建它。如果您使用tensorflow,则需要64位Python