Die Authentifizierung für zusätzliche Index-URLs erfordert eine benutzerinteraktive Authentifizierung, selbst wenn die Authentifizierung in der zusätzlichen Index-URL selbst angegeben ist.
Python 3.6.3
pipenv, version 8.3.2
Wenn ich [[source]]
mit einer URL hinzufüge, die Authentifizierungsinformationen enthält (zB https://user:password@host/pypi/simple
), sollten keine Authentifizierungsinformationen angefordert werden.
$ 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:
Dieser wartet dann auf Benutzereingaben.
[[source]]
zu Pipfile
mit einer URL hinzu, die eine grundlegende http-Authentifizierung erfordert.Pipfile
, das den angegebenen Index verwendet (zB package_name: {version="*", index="index_name"}
.pipenv lock
.Entschuldigung, dies ist kein pipenv
Problem; es passiert sogar mit normalen pip
außerhalb der virtualenv.
Zu Ihrer Information, für alle, die sich fragen, wie man private pip
Repos mit CI und Docker verwendet, müssen Sie die Umgebungsvariable PIP_EXTRA_INDEX_URL
mit Authentifizierung verwenden. Dies kann für lokale Tests mit einer .env
Datei erfolgen, die nicht in ein VCS eingecheckt ist, und remote mit allem, was Ihr CI-Tool für die Definition von Umgebungsvariablen verwendet (normalerweise in den GUI- oder CLI-Einstellungen für das Repository). Wenn Sie docker
, können Sie dies mit einem --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR
injizieren. Ich würde dies dem relevanten Problem (#1020) hinzufügen, aber es wurde aus irgendeinem Grund geschlossen.
@Californian danke für das relevante Update, ich füge einen Link hinzu
@Californian OT hier, aber --build-arg
für Geheimnisse zu verwenden, ist nicht gut. Sie können das Geheimnis tatsächlich aus der Build-Historie erfahren; Versuchen Sie es mit docker history <image>
und Sie werden es dort sehen.
Hilfreichster Kommentar
Entschuldigung, dies ist kein
pipenv
Problem; es passiert sogar mit normalenpip
außerhalb der virtualenv.Zu Ihrer Information, für alle, die sich fragen, wie man private
pip
Repos mit CI und Docker verwendet, müssen Sie die UmgebungsvariablePIP_EXTRA_INDEX_URL
mit Authentifizierung verwenden. Dies kann für lokale Tests mit einer.env
Datei erfolgen, die nicht in ein VCS eingecheckt ist, und remote mit allem, was Ihr CI-Tool für die Definition von Umgebungsvariablen verwendet (normalerweise in den GUI- oder CLI-Einstellungen für das Repository). Wenn Siedocker
, können Sie dies mit einem--build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR
injizieren. Ich würde dies dem relevanten Problem (#1020) hinzufügen, aber es wurde aus irgendeinem Grund geschlossen.