through pip3 cntlm behind python authentication proxy pip

python - pip3 - Cómo usar pip en ventanas detrás de un proxy de autenticación



pip3 through proxy (8)

Así es como lo configuré:

  1. Abra el símbolo del sistema (CMD) como administrador.
  2. Exportar la configuración del proxy:

    set http_proxy=http://username:password@proxyAddress:port

    set https_proxy=https://username:password@proxyAddress:port

  3. Instale el paquete que desea instalar:

    pip install PackageName

Por ejemplo:

Mi computadora está ejecutando Windows detrás de un proxy en un servidor de Windows (usando el directorio activo), y no puedo encontrar la manera de resolverlo con pip (en python3). He intentado usar --proxy , pero todavía solo expira. También he intentado establecer un tiempo de espera largo (60 segundos), pero eso no hizo ninguna diferencia. Mi configuración de proxy es correcta, y los comparé con los que estoy usando con éxito en TortoiseHG para estar seguro.

¿Hay algún otro truco que alguien sabe que puedo probar, o hay alguna limitación en pip con respecto a los proxies de Windows?

Actualización: Mis intentos fallidos involucraron la búsqueda de pypi. Intenté instalar algo y funcionó. Sin embargo, la búsqueda aún falla. ¿Esto indica un error en pip o funcionan de manera diferente?


He intentado 2 opciones que funcionan en el proxy autenticado NTLM de mi compañía. La opción 1 es usar --proxy http://user:pass@proxyAddress:proxyPort

Si sigues teniendo problemas, te sugiero que instales un servicio de autenticación de proxy (yo uso CNTLM ) y apunte a él, es decir algo como --proxy http://localhost:3128


Me encontré con el mismo problema en Windows 7. Logré ponerlo en funcionamiento creando una carpeta "pip" con un archivo "pip.ini" dentro. Puse esta carpeta dentro de "C: / Users / {my.username} / AppData / Roaming", porque de acuerdo con la documentación de Python:

En Windows, el archivo de configuración es% APPDATA% / pip / pip.ini

En el archivo pip.ini solo tengo:

[global] proxy = [proxy address]:[proxy port]

Entonces no hay nombre de usuario: contraseña. Y está funcionando bien.


Me tomó un par de horas resolver esto, pero finalmente lo hice funcionar usando CNTLM y luego lo puse a trabajar con solo un archivo de configuración de pip. Aquí es cómo lo hice funcionar con el archivo de configuración pip ...

Solución:

1. En Windows navegue a su directorio de perfil de usuario (Ej. C: / Users / Sync) y cree una carpeta llamada " pip "

2. Cree un archivo llamado " pip.ini " en este directorio (Ej. C: / Users / Sync / pip / pip.ini) e ingrese lo siguiente en él:

[global] trusted-host = pypi.python.org pypi.org files.pythonhosted.org proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]

Reemplace [nombre de dominio] , [nombre de usuario] , [contraseña] , [dirección proxy] y [puerto proxy] con su propia información.

3. En este punto, pude ejecutar " pip install " sin problemas.

¡Espero que esto también funcione para otros!

PD: Esto puede suponer un problema de seguridad debido a que su contraseña está almacenada en texto sin formato. Si esto es un problema, considere configurar CNTLM utilizando este artículo (permite usar contraseña hash en lugar de texto sin formato). Luego configure proxy = 127.0.0.1:3128 en el archivo "pip.ini" mencionado anteriormente.


También puede tener problemas con los certificados de su proxy. Aquí hay muchas respuestas sobre cómo recuperar el certificado de tu proxy.

En un host de Windows, para permitir que pip borre su proxy, es posible que desee establecer una variable de entorno como, por ejemplo:

PIP_CERT=C:/path/to/certificate/file/in/pem/form/myproxycert.pem

También puede usar el argumento --cert para PIP con el mismo resultado.


Tuve el mismo problema en un entorno de Windows remoto. Intenté encontrar muchas soluciones aquí o en otras publicaciones similares, pero nada funcionó. Finalmente, la solución fue bastante simple. Tuve que configurar NO_PROXY con cmd:

set NO_PROXY="<domain>/<username>:<password>@<host>:<port>" pip install <packagename>

NO_PROXY usar comillas dobles y establecer NO_PROXY en mayúsculas. También puede agregar NO_PROXY como una variable de entorno en lugar de configurarlo cada vez que utiliza la consola.

Espero que esto ayude si funciona alguna otra solución publicada aquí.


Tuve un problema similar y descubrí que mi empresa usa autenticación proxy NTLM. Si ve este error en su pip.log, este es probablemente el problema:

No se pudo recuperar la URL http://pypi.python.org/simple/pyreadline : HTTP Error 407: Se requiere autenticación proxy (El servidor ISA requiere autorización para cumplir con la solicitud. Se deniega el acceso al filtro Proxy Web.)

NTLMaps se puede utilizar para interactuar con el servidor proxy NTLM convirtiéndose en un proxy intermedio.

Descargue NTLMAPs, actualice el server.cfg incluido, ejecute el archivo main.py, luego apunte la configuración proxy de pip a 127.0.0.1 :.

También necesitaba cambiar estos valores predeterminados en el archivo server.cfg a:

LM_PART:1 NT_PART:1 # Highly experimental option. See research.txt for details. # LM - 06820000 # NT - 05820000 # LM + NT - NTLM_FLAGS: 07820000

http://ntlmaps.sourceforge.net/


install cntlm: CNTLM

Config cntlm.ini:

Usuario ob66759

Dominio NAM

Secreto de la contraseña

Proxy proxy1.net:8080

Proxy proxy2.net:8080

NoProxy localhost, 127.0.0. *, 10. *, 192.168. *

Escuchar 3128

Permitir 127.0.0.1

#tu dirección Ip

Permitir 10.106.18.138

iniciarlo:

cntlm -v -c cntlm.ini

Ahora en cmd.exe:

Instalación de pip --upgrade pip --proxy 127.0.0.1:3128

Collecting pip Downloading https://files.pythonhosted. 44c8a6e917c1820365cbebcb6a8974d1cd045ab4/ 100% |███████████████████████████████ Installing collected packages: pip Found existing installation: pip 9.0.1 Uninstalling pip-9.0.1: Successfully uninstalled pip-9.0.1 Successfully installed pip-10.0.1

¡trabajos!

También puede ocultar la contraseña: https://stormpoopersmith.com/2012/03/20/using-applications-behind-a-corporate-proxy/