Problema: você tem Python de 64 bits e um instalador de 32 bits. Isso causará problemas para os módulos de extensão.
O motivo pelo qual o instalador não encontra o Python é a emulação transparente de 32 bits do Windows 7. Os programas de 64 e 32 bits serão gravados em diferentes partes do registro do Windows.
64 bits: HKLM|HKCU\SOFTWARE\
32 bits: HKLM|HKCU\SOFTWARE\wow6432node\
.
Isso significa que o instalador do Python de 64 bits grava HKLM\SOFTWARE\Python
, mas o instalador de ferramentas de instalação de 32 bits examinaHKLM\SOFTWARE\wow6432node\Python
(isso é tratado pelo Windows automaticamente, os programas não percebem). Esse é o comportamento esperado e não um bug.
Geralmente, você tem estas opções:
- da maneira "limpa": use Python de 32 bits se precisar usar módulos ou extensões de 32 bits
- a outra maneira "limpa": use apenas instaladores de 64 bits ao usar o Python de 64 bits (veja abaixo)
- qual é a resposta acima sugere: cópia
HKLM\SOFTWARE\Python
para HKLM\SOFTWARE\wow6432node\Python
, mas isso vai causar problemas com a distribuição binária, como 64-bit Python não pode carregar 32 bits módulos compilados (não faça isso!)
- instale módulos Python puros com setuptools em vez do instalador do distutils (easy_install ou pip)
Para as próprias ferramentas de instalação, por exemplo, não é possível usar um instalador de 32 bits para o Python de 64 bits, pois inclui arquivos binários. Mas há um instalador de 64 bits em http://www.lfd.uci.edu/~gohlke/pythonlibs/ (também possui muitos instaladores para outros módulos) . Atualmente, muitos pacotes no PyPi têm distribuições binárias, para que você possa instalá-los via pip.