Я установил 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-разрядном режиме?
См. Обсуждение здесь . Это от 2.6.1, но, похоже, все еще актуально. По крайней мере, я нигде не видел доказательств обратного. Суть дела (цитируется по этой ссылке):
Это сделано намеренно. В своей бесконечной мудрости Microsoft решила сделайте 'длинный' тип C всегда 32-битным целым числом со знаком - даже на 64-битном системы. В большинстве систем Unix long не менее 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 просто продвинется до длинных
в любом случае, но если вы можете выделить более трех гигабайт памяти, вы все равно будете пользоваться преимуществами 64 битовое исполнение.