Python Kerberos-1.1.1.tar.gz Error de instalación en Windows

Ejecuto Python en entornos basados ​​en Windows (2003, win 7, 2008 r2, etc.) con sabores de 32 y 64 bits. Recientemente he tenido que autenticarme en varios sitios web corporativos que se enfrentan internamente usando esquemas de autenticación NTLM y Kerberos.

Tuve éxito con la autenticación NTLM usando el módulo de “solicitudes”. Específicamente hay alguna documentación que discute las formas de Otra autenticación . ¡Instalar los paquetes ‘request-ntlm‘ funcionó muy bien!

Desafortunadamente, parece que no puedo hacer funcionar el paquete request-kerberos. Los requisitos.txt indican que se requiere el paquete kerberos-1.1.1, pero no puedo construir / instalar ese paquete.

Esto es lo que sucede si trato de importar la biblioteca pedidos-kerberos sin el kerberos-1.1.1:

>>> import requests >>> from requests_kerberos import HTTPKerberosAuth Traceback (most recent call last): File "", line 1, in  File "requests_kerberos\__init__.py", line 17, in  from .kerberos_ import HTTPKerberosAuth, REQUIRED, OPTIONAL, DISABLED File "requests_kerberos\kerberos_.py", line 1, in  import kerberos ImportError: No module named kerberos >>> 

Y aquí están mis errores al intentar comstackr el paquete kerberos-1.1.1 desde una de mis máquinas WIN 7 (con python 2.6.5):

 >python setup.py install --install-lib "C:\tmp" running install running build running build_ext building 'kerberos' extension c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python26\ArcGIS10.0\include -IC:\Python26\ArcGIS10.0\ PC /Tcsrc/kerberos.c /Fobuild\temp.win32-2.6\Release\src/kerberos.obj '{' is not recognized as an internal or external command, operable program or batch file. cl : Command line warning D9024 : unrecognized source file type ''{'', object fi le assumed cl : Command line warning D9027 : source file ''{'' ignored cl : Command line warning D9024 : unrecognized source file type 'is', object fil e assumed cl : Command line warning D9027 : source file 'is' ignored cl : Command line warning D9024 : unrecognized source file type 'not', object fi le assumed cl : Command line warning D9027 : source file 'not' ignored cl : Command line warning D9024 : unrecognized source file type 'recognized', ob ject file assumed cl : Command line warning D9027 : source file 'recognized' ignored cl : Command line warning D9024 : unrecognized source file type 'as', object fil e assumed cl : Command line warning D9027 : source file 'as' ignored cl : Command line warning D9024 : unrecognized source file type 'an', object fil e assumed cl : Command line warning D9027 : source file 'an' ignored cl : Command line warning D9024 : unrecognized source file type 'internal', obje ct file assumed cl : Command line warning D9027 : source file 'internal' ignored cl : Command line warning D9024 : unrecognized source file type 'or', object fil e assumed cl : Command line warning D9027 : source file 'or' ignored cl : Command line warning D9024 : unrecognized source file type 'external', obje ct file assumed cl : Command line warning D9027 : source file 'external' ignored cl : Command line warning D9024 : unrecognized source file type 'command,', obje ct file assumed cl : Command line warning D9027 : source file 'command,' ignored cl : Command line warning D9024 : unrecognized source file type 'operable', obje ct file assumed cl : Command line warning D9027 : source file 'operable' ignored cl : Command line warning D9024 : unrecognized source file type 'program', objec t file assumed cl : Command line warning D9027 : source file 'program' ignored cl : Command line warning D9024 : unrecognized source file type 'or', object fil e assumed cl : Command line warning D9027 : source file 'or' ignored cl : Command line warning D9024 : unrecognized source file type 'batch', object file assumed cl : Command line warning D9027 : source file 'batch' ignored cl : Command line warning D9024 : unrecognized source file type 'file.', object file assumed cl : Command line warning D9027 : source file 'file.' ignored kerberos.c \src\kerberosbasic.h(17) : fatal error C108 3: Cannot open include file: 'gssapi/gssapi.h': No such file or directory error: command '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.ex e"' failed with exit status 2 

También probé uno de mis servidores WIN 2008 R2 (con python 2.7.2), pero obtuve un error diferente:

 >python.exe "setup.py" install -- install-lib "C:\tmp" running install running build running build_ext building 'kerberos' extension error: Unable to find vcvarsall.bat 

Creo que esto tiene que ver con que se están construyendo desde la fuente y necesitan algún tipo de comstackdor C o C ++, mientras que la mayoría de los otros módulos que instalé en el pasado funcionaron muy bien. Cualquier consejo es apreciado!

Me las arreglé para solucionar este problema.

  1. Instala $ pip install kerberos-sspi
  2. Descargar requests-kerberos ZIP desde GitHub
  3. En ‘request-kerberos / kerberos_.py’, cambie la línea import kerberos para import kerberos_sspi as kerberos
  4. En ‘Requirements.txt’, elimine ‘kerberos == 1.1.1’
  5. Ejecute $ python setup.py install .

Si desea ejecutar test_requests_kerberos.py que está en request-kerberos / necesita cambiar import kerberos de import kerberos_sspi as kerberos con import kerberos de import kerberos_sspi as kerberos .

Además de que necesita cambiar todas las apariciones de:

 with patch.multiple('kerberos', ...) 

con:

 with patch.multiple('kerberos_sspi', ...) 

Eso funcionó para mí.

El segundo problema que puede resolver con la instalación de Visual Studio 2012 Express y ejecutar este comando en el símbolo del sistema:

> SET VS90COMNTOOLS=%VS110COMNTOOLS%

Después de ejecutar este comando, tengo un problema con tu primer problema. ¿Lo has resuelto?