Должен ли я использовать Python 32bit или Python 64bit

У меня есть установка win7 64bit. Должен ли я использовать Python 64bit? В любом случае, каковы различия между 32-битными и 64-битными версиями Python? Поддерживают ли различные пакеты Python (такие как south, django, mysqldb и т. д.) Только 32bit64bit?

5 ответов


64-битная версия позволит одному процессу использовать больше ОЗУ, чем 32 бит, однако вы можете обнаружить, что объем памяти удваивается в зависимости от того, что вы храните в ОЗУ (целые числа, в частности).

например, если ваше приложение требует > 2 ГБ ОЗУ, поэтому вы переключаетесь с 32 бит на 64 бит, вы можете обнаружить, что ваше приложение теперь требует > 4 ГБ ОЗУ.

Проверьте, доступны ли все ваши сторонние модули в 64 битах, иначе может быть проще придерживаться 32 бит в тем временем


по моему опыту, использование 32-разрядной версии более безотказно. Если вы не работаете над приложениями, которые интенсивно используют память (в основном научные вычисления, которые используют более 2 ГБ памяти), вам лучше использовать 32-разрядные версии, потому что:

  1. вы обычно используете меньше памяти.
  2. у вас меньше проблем с использованием COM (так как вы находитесь в Windows).
  3. Если вам нужно загрузить DLL, они, скорее всего, также 32-разрядные. Python 64-бит не может загрузить 32-бит библиотеки без некоторых тяжелых хаков, работающих под управлением другого Python, на этот раз в 32-битном и с использованием IPC.
  4. Если вам нужно загрузить библиотеки DLL, которые вы компилируете самостоятельно, вам придется скомпилировать их в 64-бит, что обычно сложнее сделать (особенно при использовании MinGW в Windows).
  5. Если вы когда-либо используете PyInstaller или py2exe, эти инструменты будут генерировать исполняемые файлы с той же битностью вашего интерпретатора Python.

вам не нужно использовать 64bit, так как windows будет эмулировать 32bit программы с помощью wow64. Но использование родной версии (64bit) даст вам больше производительности.


используйте 64-битную версию, только если вам нужно работать с большими объемами данных, в этом сценарии 64 бита работают лучше с неудобным, что сказал Джон Ла Руй; если нет, придерживайтесь 32 бит.


У меня были проблемы с запуском приложения python (запуск больших фреймов данных) в 32 - got MemoryError message, в то время как на 64 он работал нормально.