Pipenv: A autenticação de URL de índice extra é interativa mesmo quando especificada

Criado em 4 dez. 2017  ·  3Comentários  ·  Fonte: pypa/pipenv

A autenticação para URLs de índice extras solicita autenticação interativa do usuário, mesmo quando a autenticação é especificada no próprio URL de índice extra.

Descreva o seu ambiente
  1. Arch Linux
  2. Versão Python: Python 3.6.3
  3. Versão Pipenv: pipenv, version 8.3.2
Resultado esperado

Quando adiciono [[source]] com um URL que contém informações de autenticação (por exemplo, https://user:password@host/pypi/simple ), as informações de autenticação não devem ser solicitadas.

Resultado atual
$ 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:

Em seguida, aguarda a entrada do usuário.

Passos para replicar
  1. Adicione [[source]] a Pipfile com um URL que requer autenticação http básica.
  2. Adicione um pacote ao Pipfile que usa o índice especificado (por exemplo, package_name: {version="*", index="index_name"} .
  3. Execute pipenv lock .

Comentários muito úteis

Desculpe, este não é um problema de pipenv ; isso acontece mesmo com pip normais fora do virtualenv.

Para sua informação, para qualquer um que esteja se perguntando como usar repos pip privados com CI e docker, você terá que usar a variável de ambiente PIP_EXTRA_INDEX_URL com autenticação. Isso pode ser feito para teste local com um arquivo .env que não foi verificado em um VCS e remotamente com tudo o que sua ferramenta de CI usa para definição de variável de ambiente (geralmente em configurações de GUI ou CLI para o repo). Se você estiver usando docker , pode injetar --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR . Eu adicionaria isso ao problema relevante (# 1020), mas foi encerrado por algum motivo.

Todos 3 comentários

Desculpe, este não é um problema de pipenv ; isso acontece mesmo com pip normais fora do virtualenv.

Para sua informação, para qualquer um que esteja se perguntando como usar repos pip privados com CI e docker, você terá que usar a variável de ambiente PIP_EXTRA_INDEX_URL com autenticação. Isso pode ser feito para teste local com um arquivo .env que não foi verificado em um VCS e remotamente com tudo o que sua ferramenta de CI usa para definição de variável de ambiente (geralmente em configurações de GUI ou CLI para o repo). Se você estiver usando docker , pode injetar --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR . Eu adicionaria isso ao problema relevante (# 1020), mas foi encerrado por algum motivo.

@Californian obrigado pela atualização relevante, vou adicionar um link

@Californian OT aqui, mas usar --build-arg para segredos não é bom. Você pode realmente obter o segredo do histórico de construção; tente docker history <image> e você o verá lá.

Esta página foi útil?
0 / 5 - 0 avaliações