Pipenv: Zusätzliche Index-URL-Authentifizierung ist interaktiv, selbst wenn angegeben

Erstellt am 4. Dez. 2017  ·  3Kommentare  ·  Quelle: pypa/pipenv

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.

Beschreiben Sie Ihre Umgebung
  1. Arch Linux
  2. Python-Version: Python 3.6.3
  3. Pipenv-Version: pipenv, version 8.3.2
Erwartetes Ergebnis

Wenn ich [[source]] mit einer URL hinzufüge, die Authentifizierungsinformationen enthält (zB https://user:password@host/pypi/simple ), sollten keine Authentifizierungsinformationen angefordert werden.

Tatsächliche Ergebnis
$ 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.

Schritte zum Replizieren
  1. Fügen Sie [[source]] zu Pipfile mit einer URL hinzu, die eine grundlegende http-Authentifizierung erfordert.
  2. Fügen Sie ein Paket zu Pipfile , das den angegebenen Index verwendet (zB package_name: {version="*", index="index_name"} .
  3. Führen Sie pipenv lock .

Hilfreichster Kommentar

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.

Alle 3 Kommentare

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.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen