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.
Python 3.6.3
pipenv, version 8.3.2
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.
$ 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.
[[source]]
al Pipfile
con una URL que requiera autenticación http básica.Pipfile
que use el índice especificado (por ejemplo, package_name: {version="*", index="index_name"}
.pipenv lock
.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í.
Comentario más útil
Lo sentimos, esto no es un problema de
pipenv
; sucede incluso conpip
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 entornoPIP_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á utilizandodocker
, 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.