Pipenv: La autenticación de URL de índice adicional es interactiva incluso cuando se especifica

Creado en 4 dic. 2017  ·  3Comentarios  ·  Fuente: pypa/pipenv

La autenticación para las URL de índice adicional solicita la autenticación interactiva del usuario incluso cuando la autenticación se especifica en la propia URL de índice adicional.

Describe tu entorno
  1. Arch Linux
  2. Versión de Python: Python 3.6.3
  3. Versión de Pipenv: pipenv, version 8.3.2
Resultado Esperado

Cuando agrego un [[source]] con una URL que tiene información de autenticación (por ejemplo, https://user:password@host/pypi/simple ), no se debe solicitar información de autenticación.

Resultado actual
$ pipenv lock --verbose
Locking [dev-packages] dependencies…
Using pip: -i https://pypi.python.org/simple --extra-index-url https://xxxUSERxxx:xxxPASSWORDxxx@xxxHOSTxxx/xxxPATHxxx/pypi/simple

                          ROUND 1
Current constraints:
  xxx
  xxx
  xxx

Finding the best candidates:
User for xxxxxxxx:

Esto luego espera la entrada del usuario.

Pasos para replicar
  1. Agregue un [[source]] al Pipfile con una URL que requiera autenticación http básica.
  2. Agregue un paquete al Pipfile que use el índice especificado (por ejemplo, package_name: {version="*", index="index_name"} .
  3. Ejecute pipenv lock .

Comentario más útil

Lo sentimos, esto no es un problema de pipenv ; sucede incluso con pip normales fuera del virtualenv.

Para su información, para cualquiera que se pregunte cómo usar repositorios privados pip con CI y Docker, tendrá que usar la variable de entorno PIP_EXTRA_INDEX_URL con autenticación. Esto se puede hacer para pruebas locales con un archivo .env que no está registrado en un VCS, y de forma remota con lo que sea que use su herramienta CI para la definición de variables de entorno (generalmente en la configuración de GUI o CLI para el repositorio). Si está utilizando docker , puede inyectar esto con --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR . Agregaría esto al problema relevante (# 1020), pero se cerró por alguna razón.

Todos 3 comentarios

Lo sentimos, esto no es un problema de pipenv ; sucede incluso con pip normales fuera del virtualenv.

Para su información, para cualquiera que se pregunte cómo usar repositorios privados pip con CI y Docker, tendrá que usar la variable de entorno PIP_EXTRA_INDEX_URL con autenticación. Esto se puede hacer para pruebas locales con un archivo .env que no está registrado en un VCS, y de forma remota con lo que sea que use su herramienta CI para la definición de variables de entorno (generalmente en la configuración de GUI o CLI para el repositorio). Si está utilizando docker , puede inyectar esto con --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR . Agregaría esto al problema relevante (# 1020), pero se cerró por alguna razón.

@Californiano gracias por la actualización relevante,

@Californian OT aquí, pero usar --build-arg para secretos no es bueno. De hecho, puede obtener el secreto del historial de compilación; prueba docker history <image> y lo verás allí.

¿Fue útil esta página
0 / 5 - 0 calificaciones