¿Cómo instalar el módulo ssl de Python en Windows?

El Google App Engine Launcher me dice:

ADVERTENCIA appengine_rpc.py:399 módulo ssl no encontrado. Sin el módulo ssl, la identidad del host remoto no se puede verificar y las conexiones NO pueden ser seguras. Para solucionar este problema, instale el módulo ssl desde http://pypi.python.org/pypi/ssl .

Descargué el paquete y contenía un archivo setup.py . Corrí:

 python setup.py install 

y entonces:

 Python was built with Visual Studio 2003; blablabla use MinGW32 

Luego instalé MinGW32 y ahora la comstackción no funciona. El final de los errores de comstackción contiene:

ssl / _ssl2.c: 1561: error: `CRYPTO_LOCK ‘no declarado (primer uso en esta función)

error: el comando ‘gcc’ falló con el estado de salida 1

¿Qué tengo que hacer?

¡Tome los paquetes openssl y libgw32c del proyecto gnuwin32 (descargue los “Archivos de desarrollador”!) Y extráigalos donde instaló gnuwin32, o si aún no tiene herramientas de gnuwin32, puede extraerlo en cualquier lugar (por ejemplo, “C: \ Program Archivos \ gnuwin32 “). Ingrese el directorio gnuwin32 en el archivo “setup.py” (reemplace “C: \ Utils \ GnuWin32” en la línea 154).

Entonces puedes construir el módulo ssl sin problemas. Lo probé yo mismo, usando GCC “4.3.2-tdm-2 mingw32” y con la línea de comandos setup.py build -cmingw32 ( -cmingw32 obliga a MinGW ya que también tengo instalado el comstackdor de Microsoft). Ejecute setup.py install después de la comstackción exitosa para instalar ssl .

Tuve que usar la siguiente modificación del enfoque de AndiDog:

 setup.py build -cmingw32 setup.py install --skip-build 

Sin la opción –skip-build, la instalación intentaría comstackr nuevamente y se quejaría de MSVC nuevamente:

 error: Python was built with Visual Studio 2003; extensions must be built with a compiler than can generate compatible binaries. Visual Studio 2003 was not found on this system. If you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py. 

También, inicialmente al usar el comando de comstackción tuve muchos errores como este:

 build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x1d): undefined reference to `_imp__PyImport_ImportModule' build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x34): undefined reference to `_imp__PyObject_GetAttrString' build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x53): undefined reference to `_imp__PyCObject_AsVoidPtr' 

Esto se debió a que originalmente había instalado la versión de 64 bits de Python 2.5.4 (python-2.5.4.amd64.msi). Quité eso e instalé la versión de 32 bits (python-2.5.4.msi). Esto incluye el archivo libpython25.a que el comando de comstackción estaba buscando.

Utilicé las respuestas de AndiDog y Saxon Druce que son correctas al 100%, pero es posible que necesite una aclaración para los usuarios sin experiencia como yo:

  1. Esto es solo para usuarios de Windows.

  2. Instale Python 2.5.2 32 bits: era esencial para mí, ya que tengo el sistema x64 y primero instalé Python 2.5.2 x64 y la solución propuesta no me funcionó en absoluto, por lo que es de 32 bits.

  3. Instale GCC – http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.5.2.exe/download , usé la última versión, haga no olvide seleccionar la opción agregar a la variable PATH durante la instalación, o tendrá que agregar la ruta a la carpeta bin de GCC a su variable de entorno “ruta” usted mismo.

  4. Blockquote openssl y libgw32c paquetes del proyecto gnuwin32 (¡descargue los “Archivos de desarrollador”!) Y extráigalos donde instaló gnuwin32, o si aún no tiene las herramientas de gnuwin32, puede extraerlo en cualquier lugar (por ejemplo, “C: \ Archivos de progtwig \ gnuwin32 “). Ingrese el directorio gnuwin32 en “setup.py” del archivo de la biblioteca ssl (reemplace “C: \ Utils \ GnuWin32” en la línea 154).

  5. ejecute python setup.py build -cmingw32 (la forma más sencilla es disparar cmd y navegar al directorio donde se extrajo la biblioteca ssl) – esto comstackrá la biblioteca ssl

  6. ejecute python setup.py install --skip-build para instalarlo

Deberias hacer eso.

Estoy realmente sorprendido de que no lograron agregar la biblioteca ssl a la aplicación sdk o al instalador de Python en todos estos años, puede que la gente no lo use.

Desde que se lanzó TDM-GCC 4.6.1 en septiembre de 2011. El instalador de TDM-GCC descargará la última versión de GCC (4.6.1) aunque se use tdm-gcc-4.5.2.exe. GCC 4.6.1 provocará un error de comstackción de GCC “error: opción de línea de comando no reconocida ‘-mno-cygwin'” Esto se debe a que -mno-cygwin queda en desuso en GCC 4.6.1. Para comstackr el paquete ssl contra python 2.5 necesitamos usar la versión 4.5.2 de GCC.

Después de instalar TDM-GCC, debe realizar un paso adicional a partir de las instrucciones de @BanditoBunny.

3.1 Descargue gcc-4.5.2-tdm-1-core.zip desde http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/ gcc-4.5.2-tdm-1-core.zip/download . Descomprima el archivo en la carpeta MinGW32.
3.2 Vaya a la carpeta SSL y luego abra un indicador de comando allí. Verifique la versión de GCC (usando gcc –version) para asegurarse de que usa la versión 4.5.2. Luego continúa con el paso 4.

He recostackdo todas las instrucciones en un solo lugar para facilitar la vida de las personas. http://waqasshabbir.tumblr.com/post/18010535789/ssl-module-for-python-2-5-installation-windows-only