Masalah: Anda memiliki Python 64-bit, dan penginstal 32-bit. Ini akan menyebabkan masalah untuk modul ekstensi.
Alasan mengapa installer tidak menemukan Python adalah emulasi 32-bit transparan dari Windows 7. Program 64-bit dan 32-bit akan menulis ke berbagai bagian dari registri Windows.
64-bit: HKLM|HKCU\SOFTWARE\
32-bit: HKLM|HKCU\SOFTWARE\wow6432node\
.
Ini berarti bahwa penginstal Python 64-bit menulis HKLM\SOFTWARE\Python
, tetapi penginstal setuptool 32-bit melihat HKLM\SOFTWARE\wow6432node\Python
(ini ditangani oleh windows secara otomatis, program tidak memperhatikan). Ini adalah perilaku yang diharapkan dan bukan bug.
Biasanya, Anda memiliki pilihan ini:
- cara "bersih": gunakan Python 32-bit jika Anda harus menggunakan modul atau ekstensi 32-bit
- cara "bersih" lainnya: hanya gunakan penginstal 64-bit saat menggunakan Python 64-bit (lihat di bawah)
- apa jawaban yang disarankan di atas: salin
HKLM\SOFTWARE\Python
ke HKLM\SOFTWARE\wow6432node\Python
, tetapi ini akan menyebabkan masalah dengan distribusi biner, karena Python 64-bit tidak dapat memuat modul yang dikompilasi 32-bit (JANGAN lakukan ini!)
- instal modul Python murni dengan setuptools alih-alih installer distutils (easy_install atau pip)
Untuk setuptools itu sendiri, misalnya, Anda tidak bisa menggunakan penginstal 32-bit untuk 64-bit Python karena ia menyertakan file biner. Tetapi ada installer 64-bit di http://www.lfd.uci.edu/~gohlke/pythonlibs/ (memiliki banyak installer untuk modul lain juga) . Saat ini, banyak paket di PyPi memiliki distribusi biner, sehingga Anda dapat menginstalnya melalui pip.