【问题标题】:Should I use Python 32bit or Python 64bit我应该使用 Python 32 位还是 Python 64 位
【发布时间】:2011-03-08 06:05:00
【问题描述】:

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

【问题讨论】:

标签: python 32bit-64bit


【解决方案1】:

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

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

检查您的所有 3rd 方模块是否都支持 64 位,否则可能更容易同时坚持 32 位

【讨论】:

  • Afaik,MysqlDB 没有 64 位二进制文​​件 - 这就是我坚持使用 32 位 Python 的原因。
  • 第三方模块真的需要明确支持64位吗?
  • 过去几个月(这篇文章发布五年后)我一直在使用 64 位 Python 2.7,尽管我会说这绝对是值得的——如果你不这样做,那么访问所有这些 RAM 非常好'不想浪费尽可能多的时间来管理您的数据 - 仍然有几个库在获取 64 位版本时有点烦人,或者在许多情况下几乎无法使用(32 位 DLL 就是这样的资源示例之一如果不加载 32 位版本的 Python,我还没有设法利用)
  • 也有相反的情况:tensorflow只适用于windows上的64位python,除非你想构建它。
【解决方案2】:

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

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

【讨论】:

  • 如果你使用的是tensorflow,你需要64位python
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        tensorflow 2.x 等机器学习包仅适用于 64 位 Python,因为它们占用大量内存。

        【讨论】:

          【解决方案7】:

          自从收到手电筒安装错误后,我使用的是 32 位版本。然后我下载64位python问题解决了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-06-29
            • 2011-07-06
            • 2012-05-26
            • 2016-02-06
            • 2010-12-30
            • 2011-08-31
            • 2015-04-16
            • 2010-11-18
            相关资源
            最近更新 更多