Cómo usar “easy_install” de Python en Windows … no es tan fácil

Después de instalar Python 2.7 en Windows XP, luego configurar manualmente %PATH% a python.exe (¿por qué el instalador de python no hace esto?), Luego instalar setuptools 0.6c11 (¿por qué el instalador de python no hace esto?), luego configurando manualmente %PATH% a easy_install.exe (¿por qué el instalador no hace esto?), finalmente traté de instalar un paquete de python con easy_install , pero easy_install falló cuando no pudo instalar el paquete pywin32, que es un dependencia. ¿Cómo puedo hacer que easy_install funcione correctamente en Windows XP? El fallo sigue:

  C: \> easy_install winpexpect
 Buscando por winpexpect
 Mejor partido: winpexpect 1.4
 Procesando winpexpect-1.4-py2.7.egg
 winpexpect 1.4 ya es la versión activa en easy-install.pth

 Usando c: \ python27 \ lib \ site-packages \ winpexpect-1.4-py2.7.egg
 Procesando dependencias para winpexpect
 Buscando por pywin32> = 214
 Leyendo http://pypi.python.org/simple/pywin32/
 Leyendo http://sf.net/projects/pywin32
 Leyendo http://sourceforge.net/project/showfiles.php?group_id=78018
 No se encontraron paquetes locales ni enlaces de descarga para pywin32> = 214
 Mejor partido: ninguno
 Rastreo (llamadas recientes más última):
   Archivo "C: \ python27 \ scripts \ easy_install-script.py", línea 8, en 
     load_entry_point ('setuptools == 0.6c11', 'console_scripts', 'easy_install') ()
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 1712, en main
     with_ei_usage (lambda:
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 1700, en with_ei_usage
     volver f ()
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 1716, en 
     distclass = DistributionWithoutHelpCommands, ** kw
   Archivo "C: \ python27 \ lib \ distutils \ core.py", línea 152, en configuración
     dist.run_commands ()
   Archivo "C: \ python27 \ lib \ distutils \ dist.py", línea 953, en run_commands
     self.run_command (cmd)
   Archivo "C: \ python27 \ lib \ distutils \ dist.py", línea 972, en run_command
     cmd_obj.run ()
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 211, en ejecución
     self.easy_install (spec, no self.no_deps)
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 446, en easy_install
     devolver self.install_item (spec, dist.location, tmpdir, deps)
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 481, en install_item
     self.process_distribution (spec, dists [0], deps, "Using")
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 519, en process_distribution
     [requisito], self.local_index, self.easy_install
   Archivo "C: \ python27 \ lib \ site-packages \ pkg_resources.py", línea 563, en resolución
     dist = best [req.key] = env.best_match (req, self, installer)
   Archivo "C: \ python27 \ lib \ site-packages \ pkg_resources.py", línea 799, en best_match
     return self.obtain (req, installer) # prueba y descarga / instala
   Archivo "C: \ python27 \ lib \ site-packages \ pkg_resources.py", línea 811, en obtener
     instalador de retorno (requisito)
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py", línea 434, en easy_install
     self.local_index
   Archivo "C: \ python27 \ lib \ site-packages \ setuptools \ package_index.py", línea 475, en fetch_distribution
     return dist.clone (location = self.download (dist.location, tmpdir))
 AttributeError: el objeto 'NoneType' no tiene ningún atributo 'clon'

Un problema es que easy_install está configurado para descargar e instalar archivos .egg o distribuciones de origen (contenidas dentro de los archivos .tgz, .tar, .tar.gz, .tar.bz2 o .zip). No sabe cómo lidiar con las extensiones PyWin32 porque están ubicadas dentro de un ejecutable de instalación por separado . Deberá descargar el archivo de instalación de PyWin32 apropiado (para Python 2.7) y ejecutarlo usted mismo. Cuando vuelva a ejecutar easy_install (siempre que lo haya instalado correctamente, como en las instrucciones de Sergio), debería ver que su paquete winpexpect se ha instalado correctamente.

Ya que estamos hablando de Windows y de código abierto, a menudo puede ser una combinación desordenada de métodos de instalación para que las cosas funcionen correctamente. Sin embargo, easy_install sigue siendo mejor que la edición manual de archivos de configuración, seguro.

Si está utilizando la versión de Windows 7 de 64 bits, la solución se encuentra aquí: http://pypi.python.org/pypi/setuptools

a saber, necesita descargar un script de Python, ejecutarlo y, luego, easy_install funcionará normalmente desde la línea de comandos.

PD: Estoy de acuerdo con el póster original que dice que esto debería funcionar fuera de la caja.

También estoy de acuerdo con el OP en que todas estas cosas deberían venir con Python ya establecido. Supongo que tendremos que lidiar con eso hasta que llegue ese día. Aquí hay una solución que realmente funcionó para mí:

Instalar easy_install más rápido y más fácil

Espero que te ayude a ti o a alguien con el mismo problema!

Copie el siguiente script “ez_setup.py” de la siguiente URL

https://bootstrap.pypa.io/ez_setup.py

Y cópialo en tu ubicación de Python

C: \ Python27>

Ejecuta el comando

C: \ Python27? python ez_setup.py

Esto instalará el easy_install en el directorio Scripts

C: \ Python27 \ Scripts

Ejecutar instalación fácil desde el directorio de secuencias de comandos>

C: \ Python27 \ Scripts> easy_install

Por un lado, dice que ya tienes ese módulo instalado. Si necesitas actualizarlo, debes hacer algo como esto:

easy_install -U packageName

Por supuesto, easy_install no funciona muy bien si el paquete tiene algunos encabezados de C que deben comstackrse y usted no tiene instalada la versión correcta de Visual Studio. Puede intentar usar pip o distribuir en lugar de easy_install y ver si funcionan mejor.

Si está utilizando la distribución Python de Anaconda ,

Puedes instalarlo a través de pip

pip install setuptools

y luego ejecutarlo como un módulo

python -m easy_install