Почему программа Python 2.7 AMD 64, похоже, запускает Python в 32-битном режиме?

Я установил Python 2.7 из пакета python-2.7.amd64.msi с python.org. Он устанавливает и работает корректно, но, похоже, находится в 32-битном режиме, несмотря на то, что установщик был установщиком на 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-битном режиме?

Ответ 1

См. обсуждение здесь. Это от 2.6.1, но, похоже, все еще применяется. По крайней мере, я не видел доказательств обратного. Суть вопроса (цитируется по этой ссылке):

Это по дизайну. В своей бесконечной мудрости Microsoft решила сделать "длинный" тип C всегда 32-битным знаковым целым числом - даже на 64-битной системы. В большинстве систем Unix длина составляет не менее 32 бит, но обычно SizeOf (PTR).

Ответ 2

На моем 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

Конечно, что больше, чем целочисленный размер, то сколько памяти вы можете выделить. Может быть, ваши меньшие ints не будут иметь большого значения, поскольку Python будет просто продвигать к long любым способом, но если вы можете выделить более трех гигабайт памяти, вы все равно будете пользоваться преимуществами 64-битного исполнения.