Devo usar Python 32bit ou Python 64bit


143

Eu tenho uma instalação win7 de 64 bits. Devo usar o Python 64bit? Quais são as diferenças entre as versões Python de 32 bits e 64 bits? Pacotes Python diferentes (como south, django, mysqldb etc) suportam apenas 32 bits / 64 bits?


Respostas:


91

A versão de 64 bits permitirá que um único processo use mais RAM do que 32 bits; no entanto, você pode achar que o espaço ocupado pela memória dobra dependendo do que você está armazenando na RAM (números inteiros em particular).

Por exemplo, se seu aplicativo exigir> 2 GB de RAM, para que você mude de 32 bits para 64 bits, poderá descobrir que seu aplicativo agora está exigindo> 4 GB de RAM.

Verifique se todos os seus módulos de terceiros estão disponíveis em 64 bits; caso contrário, pode ser mais fácil manter 32 bits enquanto isso.


13
Afaik, não há binários de 64 bits para o MysqlDB - essa é a razão pela qual eu uso o Python de 32 bits.
Jochen Ritzel

12
Os módulos de terceiros precisam realmente suportar explicitamente 64 bits?
27610 Jonathan

8
Eu uso Python 2.7 de 64 bits nos últimos meses (cinco anos após este post) e, embora eu diria que definitivamente vale a pena - ter acesso a toda essa memória RAM é muito bom se você não quer perder tanto tempo gerenciamento de dados - ainda existem várias bibliotecas que são levemente irritantes para obter versões de 64 bits ou, em muitos casos, quase impossíveis de usar (DLLs de 32 bits são um exemplo de recurso que ainda não consegui utilizar sem carregando uma versão de 32 bits do Python)
Darren Ringer

12
Há também o oposto: o tensorflow está disponível apenas para python de 64 bits no Windows, exceto se você deseja construí-lo.
TrakJohnson

28

Na minha experiência, o uso da versão de 32 bits é mais fácil. A menos que você esteja trabalhando em aplicativos que fazem uso pesado de memória (principalmente computação científica, que usa mais de 2 GB de memória), é melhor ter versões de 32 bits porque:

  1. Você geralmente usa menos memória.
  2. Você tem menos problemas usando o COM (já que está no Windows).
  3. Se você precisar carregar DLLs, elas provavelmente também serão de 32 bits. O Python de 64 bits não pode carregar bibliotecas de 32 bits sem alguns hacks pesados ​​executando outro Python, desta vez em 32 bits e usando o IPC.
  4. Se você precisar carregar as DLLs compiladas, precisará compilá-las em 64 bits, o que geralmente é mais difícil de executar (especialmente se você estiver usando o MinGW no Windows).
  5. Se você usar o PyInstaller ou o py2exe, essas ferramentas gerarão executáveis ​​com a mesma testemunha do seu intérprete Python.

6

Você não precisa usar 64 bits, pois o Windows emulará programas de 32 bits usando o wow64. Mas o uso da versão nativa (64 bits) fornecerá mais desempenho.


4

Use a versão de 64 bits somente se você precisar trabalhar com grandes quantidades de dados; nesse cenário, os 64 bits terão melhor desempenho com o inconveniente que John La Rooy disse; caso contrário, fique com os 32 bits.


2

Eu tive problemas ao executar o aplicativo python (executando grandes quadros de dados) em 32 - recebi a mensagem MemoryError, enquanto em 64 funcionou bem.


0

Pacotes de aprendizado de máquina como o tensorflow 2.x foram projetados para funcionar apenas em Python de 64 bits, pois consomem muita memória.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.