为什么Python 2.7 AMD 64安装程序似乎在32位模式下运行Python?

我已经从python.org的python-2.7.amd64.msi包中安装了Python 2.7。 它安装并正确运行,但似乎是在32位模式下,尽pipe安装程序是一个64位安装程序。

Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys, platform >>> platform.architecture() ('64bit', 'WindowsPE') >>> sys.maxint 2147483647 

我能做些什么来安装Python,以便它实际上在64位模式下运行?

看到这里的讨论。 这是从2.6.1,但似乎仍然适用。 至少在任何地方我都没有看到相反的证据。 (从这个链接引用)的主旨是:

这是设计。 在他们的不确定的智慧中,微软决定让长“C”型的32位有符号整数 – 即使在64位系统上。 在大多数Unix系统中,一个长度至少是32位,但通常是sizeof(ptr)。

在我的x86-64 Linux上:

 $ python Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys, platform >>> platform.architecture() ('64bit', 'ELF') >>> sys.maxint 9223372036854775807 

当然,比整数大小更重要的是你可以分配多少内存。 也许你的更小的整数并不重要,因为Python只会推广到很long ,但是如果你能分配超过三个内存的话,你仍然可以享受到64位执行的好处。