Instalar SetupTools en Windows de 64 bits

Estoy ejecutando Python 2.7 en Windows 7 de 64 bits, y cuando ejecuto el instalador de setuptools, me dice que Python 2.7 no está instalado. El mensaje de error específico es:

`Python Version 2.7 required which was not found in the registry` 

Mi versión instalada de Python es:

 `Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32` 

Estoy buscando en el sitio setuptools y no menciona ningún instalador para Windows de 64 bits. ¿Me he perdido algo o tengo que instalar esto desde la fuente?

Aparentemente (habiendo enfrentado problemas relacionados de 64 y 32 bits en OS X) hay un error en el instalador de Windows . Me encontré con esta solución , que podría ayudar: básicamente, usted crea su propio valor de registro HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath y copio el valor de InstallPath de HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath . Vea la respuesta a continuación para más detalles.

Si lo hace, tenga cuidado de que setuptools solo instale bibliotecas de 32 bits .

NOTA: las respuestas a continuación ofrecen más detalles, así que léalas también.

Problema: tiene Python de 64 bits y un instalador de 32 bits. Esto causará problemas para los módulos de extensión.

Las razones por las que el instalador no encuentra Python es la emulación transparente de 32 bits de Windows 7. Los progtwigs de 64 y 32 bits escribirán en diferentes partes del registro de Windows.

64 bits: HKLM|HKCU\SOFTWARE\

32 bits: HKLM|HKCU\SOFTWARE\wow6432node\ .

Esto significa que el instalador de Python de 64 bits escribe en HKLM\SOFTWARE\Python , pero el instalador de herramientas de instalación de 32 bits mira HKLM\SOFTWARE\wow6432node\Python (esto es manejado por Windows, los progtwigs no lo notan). Este es el comportamiento esperado y no un error.

Por lo general, usted tiene estas opciones:

  • la forma “limpia”: use Python de 32 bits si tiene que usar módulos o extensiones de 32 bits
  • la otra forma “limpia”: use solo instaladores de 64 bits cuando use Python de 64 bits (vea a continuación)
  • lo que sugiere la respuesta anterior: copie HKLM\SOFTWARE\Python a HKLM\SOFTWARE\wow6432node\Python , pero esto causará problemas con las distribuciones binarias, ya que Python de 64 bits no puede cargar módulos comstackdos de 32 bits (¡NO haga esto! )
  • instale los módulos puros de Python con setuptools en lugar del instalador de distutils (easy_install o pip)

Para setuptools, por ejemplo, no puede usar un instalador de 32 bits para Python de 64 bits, ya que incluye archivos binarios. Pero hay un instalador de 64 bits en http://www.lfd.uci.edu/~gohlke/pythonlibs/ (también tiene muchos instaladores para otros módulos) . Hoy en día, muchos paquetes en PyPi tienen distribuciones binarias, por lo que puede instalarlos a través de pip.

Hice un archivo de registro (.reg) que cambiará automáticamente el registro para usted. Funciona si está instalado en “C: \ Python27”:

Descargue la versión de 32 bits HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

Descargue la versión de 64 bits HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\

Sí, es correcto, el problema es con el instalador Python de 64 bits y el instalador de 32 bits para las herramientas de configuración.

La mejor manera de instalar las herramientas de instalación de 64 bits en Windows es descargar ez_setup.py en C: \ Python27 \ Scripts y ejecutarlo. Descargará el archivo .egg de 64 bits apropiado para setuptools y lo instalará por usted.

Fuente: http://pypi.python.org/pypi/setuptools

PD: recomendaría no usar instaladores de .exe de 64 bits de terceros para instalar instaladores o manipular el registro

Cree un archivo llamado python2.7.reg (archivo de registro) y coloque este contenido en él:

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation] @="C:\\Python27\\Doc\\python26.chm" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath] @="C:\\Python27\\" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath\InstallGroup] @="Python 2.7" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath] @="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk" 

¡Y asegúrate de que cada camino sea correcto!

Luego ejecútalo (fusiona) y listo 🙂

Obtener el archivo register.py de esta esencia . Guárdelo en su unidad C o D, vaya a CMD para ejecutarlo con:

 'python register.py' 

Entonces podrás instalarlo.

Para Python de 64 bits en Windows, descargue ez_setup.py y ejecútelo; descargará el archivo .egg apropiado y lo instalará por usted.

Al momento de escribir, el instalador .exe no admite versiones de Python para Windows de 64 bits, debido a un problema de compatibilidad con el instalador de distutils .

Para permitir que los instaladores de Windows encuentren el directorio de Python instalado en Windows 7 , O, para cambiar la instalación de Python para instalar un instalador, agregue la ruta de acceso instalada al valor (predeterminado) de la clave de registro InstallPath :

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.X \ InstallPath

Donde ” X ” es la versión de Python (es decir, 2.5, 2.6 o 2.7).

Intenté lo anterior y agregar las claves de registro a LOCALMACHINE no estaba haciendo el trabajo. Así que en caso de que todavía estés atascado, prueba esto.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER \ SOFTWARE \ Python]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ Ayuda]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ Help \ Main Python Documentation] @ = “C: \ Python27 \ Doc \ python272.chm”

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath] @ = “C: \ Python27 \”

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath \ InstallGroup] @ = “Python 2.7”

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ Módulos]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath] @ = “C: \ Python27 \ Lib; C: \ Python27 \ DLLs; C: \ Python27 \ Lib \ lib-tk”

Copie y pegue lo anterior en el bloc de notas y guárdelo como Python27.reg. Ahora ejecute / fusione el archivo como se menciona en las respuestas anteriores. (Asegúrese de que las rutas de instalación de Python se corrijan según su instalación.

Simplemente lo hace, lo que las respuestas anteriores sugieren para una máquina local, para el usuario actual.

Aquí hay un enlace a otro post / hilo. Pude ejecutar este script para automatizar el registro de Python 2.7. (¡Asegúrese de ejecutarlo desde Python 2.x .exe que desea registrar!)

Para registrar Python 3.x tuve que modificar la syntax de print e importar winreg (en lugar de _winreg ), luego _winreg Python 3 .exe .

https://stackoverflow.com/a/29633714/3568893

Puede encontrar los instaladores de 64 bits para muchas librerías aquí: http://www.lfd.uci.edu/~gohlke/pythonlibs/