Uv-аутентификация не выполняется с помощью Azure DevOps Artifacts с использованием переменных среды, но работает со встрPython

Программы на Python
Ответить
Anonymous
 Uv-аутентификация не выполняется с помощью Azure DevOps Artifacts с использованием переменных среды, но работает со встр

Сообщение Anonymous »

Я переношу проект Python из pip в uv в Windows 11. Мне нужно установить пакеты из частного канала Azure DevOps Artifacts.
Я столкнулся со странной проблемой: аутентификация работает отлично, если я встраиваю токен в URL-адрес через CLI, но завершается с ошибкой 401 Unauthorized при попытке использовать переменные среды (это рекомендуемый безопасный способ).
Если я обхожу config и передайте токен непосредственно в командной строке, он установится правильно:

Код: Выделить всё

uv add my-package --index-url https://python-internal:MY_LONG_PAT@pkgs.dev.azure.com/my-org/Assets/_packaging/python-internal/pypi/simple/
Однако я хочу настроить это в pyproject.toml и использовать переменные среды для учетных данных.
  • Код: Выделить всё

    pyproject.toml
    :

    Код: Выделить всё

    [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/"
    
  • Переменные среды:
    Я установил эти переменные (пробовал как через файл .env, так и вручную, используя набор в CMD):

    Код: Выделить всё

    set UV_INDEX_PRIVATE_REGISTRY_USERNAME=python-internal
    set UV_INDEX_PRIVATE_REGISTRY_PASSWORD=MY_LONG_PAT
    
    (Я использую тот же PAT, который работал в команде CLI выше).
Теперь, когда я запускаю uv add my-package, я получаю:

Код: Выделить всё

× 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).
Почему uv не может получить учетные данные из переменных среды UV_INDEX_PRIVATE_REGISTRY_USERNAME/

Код: Выделить всё

_PASSWORD
несмотря на то, что имя индекса соответствует частному реестру?
Есть ли особый способ обработки дефисов (-) в имени индекса при сопоставлении с переменными среды в Windows, или есть еще один шаг настройки, который я упускаю?
Среда:
  • ОС: Windows 11
  • Оболочка: CMD / PowerShell
  • uv-версия: последняя


Подробнее здесь: https://stackoverflow.com/questions/798 ... -variables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»