Die UV-Authentifizierung schlägt bei Azure DevOps Artifacts unter Verwendung von Umgebungsvariablen fehl, funktioniert jPython

Python-Programme
Anonymous
 Die UV-Authentifizierung schlägt bei Azure DevOps Artifacts unter Verwendung von Umgebungsvariablen fehl, funktioniert j

Post by Anonymous »

Ich migriere ein Python-Projekt von pip zu uv unter Windows 11. Ich muss Pakete aus einem privaten Azure DevOps-Artefakt-Feed installieren.
Ich stehe vor einem seltsamen Problem, bei dem die Authentifizierung einwandfrei funktioniert, wenn ich das Token über CLI in die URL einbette, aber mit 401 Nicht autorisiert fehlschlägt, wenn ich versuche, Umgebungsvariablen zu verwenden (was die empfohlene sichere Methode ist).
Was FUNKTIONIERT (Beweisen Sie dieses Token und URL sind gültig):

Wenn ich die Konfiguration umgehe und das Token direkt in der Befehlszeile übergebe, wird es korrekt installiert:

Code: Select all

uv add my-package --index-url https://python-internal:[email protected]/my-org/Assets/_packaging/python-internal/pypi/simple/
Ergebnis: Erfolgreich, Paket installiert.
Was FEHLT (Der Konfigurationsansatz):

Ich möchte dies in pyproject.toml konfigurieren und Umgebungsvariablen für die Anmeldeinformationen verwenden.
1. pyproject.toml:

Code: Select all

[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = []

[[tool.uv.index]]
name = "private-registry"
url = "https://pkgs.dev.azure.com/my-org/Assets/_packaging/python-internal/pypi/simple/"
2. Umgebungsvariablen:

Ich habe diese Variablen festgelegt (sowohl über die .env-Datei als auch manuell mit „Set in CMD“ versucht):

Code: Select all

set UV_INDEX_PRIVATE_REGISTRY_USERNAME=python-internal
set UV_INDEX_PRIVATE_REGISTRY_PASSWORD=MY_LONG_PAT
(Ich verwende genau das gleiche PAT, das im obigen CLI-Befehl funktioniert hat).
3. Der Fehler:

Wenn ich uv add my-package ausführe, erhalte ich Folgendes:

Code: Select all

× No solution found when resolving dependencies:
╰─▶ Because my-package was not found in the package registry...
hint: An index URL (https://pkgs.dev.azure.com/...) could not be queried due to a lack of valid authentication credentials (401 Unauthorized).
Warum kann uv die Anmeldeinformationen nicht aus den Umgebungsvariablen UV_INDEX_PRIVATE_REGISTRY_USERNAME / _PASSWORD abrufen, obwohl der Indexname mit private-registry übereinstimmt?
Gibt es eine spezielle Möglichkeit, Bindestriche (-) im Indexnamen zu behandeln, wenn Umgebungsvariablen unter Windows zugeordnet werden, oder fehlt mir ein weiterer Konfigurationsschritt?
Umgebung:
  • Betriebssystem: Windows 11
  • Shell: CMD / PowerShell
  • UV-Version: (neueste)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post