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

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

Сообщение Anonymous »

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

Если я обхожу конфигурацию и передаю токен непосредственно в командной строке, он устанавливается правильно:

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

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 и использовать переменные среды для учетных данных.
1. 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/"
2. Переменные среды:

Я установил эти переменные (пробовал как через файл .env, так и вручную, используя набор в CMD):

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

set UV_INDEX_PRIVATE_REGISTRY_USERNAME=python-internal
set UV_INDEX_PRIVATE_REGISTRY_PASSWORD=MY_LONG_PAT
(Я использую тот же PAT, который работал в приведенной выше команде CLI).
3. Ошибка:

Когда я запускаю 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»