【问题标题】:Does 64-bit Anaconda on win32 uses 32-bit or 64-bit?win32 上的 64 位 Anaconda 使用 32 位还是 64 位?
【发布时间】:2015-04-16 01:22:04
【问题描述】:

我猜答案是 32 位,但我有点困惑为什么我什至可以在 win32 中安装 Anaconda 64。

我曾经在 Anaconda 64 位上工作,但我刚刚意识到我的系统是 win32,这不时会产生一些异常。例如,请参阅我为 scipy 打开的这个问题:

https://github.com/scipy/scipy/issues/4524

根据我的系统信息,我有一个 64 位操作系统。所以:

  • win32 上的 64 位 Anaconda 是使用 32 位还是 64 位?

(我不知道为什么我在“64 位操作系统”上有一个 win32)

当我开始一个 python 会话时,它说:

Win32 上的 Anaconda 2.1;0(64 位)(默认;2014 年 7 月 2 日)[MSC v.1 500 64 位 (AMD64)]。

【问题讨论】:

    标签: python winapi anaconda


    【解决方案1】:

    Conda python CLI 报告win32 的原因如下:

    (base)  $ python.exe
    Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
    

    很可能是windows python如何处理sys, os的一个令人困惑的工件,如下所示:

    print(os.sys.platform)     
    # win32
    print(sys.platform)        
    # win32
    

    【讨论】:

      【解决方案2】:

      Win32 上的 Anaconda 2.1;0(64 位)(默认;2014 年 7 月 2 日)[MSC v.1 500 64 位 (AMD64)]

      这里win32表示系统是Windows。 x86 和 x64 上的 Windows API 的名称都是 Win32。它是完全相同的 API,但具有不同大小的指针。这有点令人困惑,但是当您阅读 win32 时,将其解释为桌面 Windows。

      这里重要的是 AMD64。这表示执行代码的机器。这是x64机器。

      您的代码在 64 位进程中运行。

      【讨论】:

      • 优秀的答案!当我启动 Python “Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32”时,我对版本信息感到困惑。我想使用性能最高的 Python,但在 Python.org 网站上找不到 64 位版本,只有名为“Windows x86-64 executable installer Windows for AMD64/EM64T/x64”的套件。所以安装程序实际上同时安装了 32 位和 64 位 API,但这并没有反映在版本信息中?有没有办法显式启动 64 位版本?
      【解决方案3】:

      根据我的系统信息,我有一个 64 位操作系统

      这才是最重要的,这就是为什么在您的系统上运行 64 位版本 Anaconda 的原因。

      您在您的系统上哪里见过“Win32”这个词?你为什么从那里推断你没有 64 位架构? “Win32”通常用作 Windows API 本身的名称。 AFAIK 它很少用于指示系统编译的实际架构。

      【讨论】:

      • 当我开始我的 python 会话时,它说:Anaconda 2.1;0 (64-bit) (default; Jul 2 2014) [MSC v.1 500 64 bit (AMD64)] on win32. 实际上,如果我使用 Anaconda 32 位代替,问题就解决了。
      • "win32" 绝对 is 只是 Python 表示它在 Windows 上运行的方式,即在 Win32 API 上。看,我在 64 位机器上的 64 位 Windows 上运行 Python 64 构建,我的 Python 解释器说 "Python 3.4.1 (default, Aug 7 2014, 13:09:27) [MSC v.1600 win32" 上的 64 位 (AMD64)]
      • 我明白了!那你能试试这个sn-p的代码吗? github.com/scipy/scipy/issues/4524
      • 您可以,很多人都可以,在 64 位系统上运行 32 位进程。
      • 是的,我知道,我不知道的是 64 位的 python 是否可以在 64 位机器上运行 32 位(因为我认为 win32 意味着你在 32 位上运行)跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-24
      • 2012-03-17
      • 2011-04-20
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多