Я столкнулся со странной проблемой: проверка подлинности работает отлично, если я встраиваю токен в 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/"
Я установил эти переменные (пробовал как через файл .env, так и вручную, используя набор в CMD):
Код: Выделить всё
set UV_INDEX_PRIVATE_REGISTRY_USERNAME=python-internal
set UV_INDEX_PRIVATE_REGISTRY_PASSWORD=MY_LONG_PAT
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).
Существует ли особый способ обработки дефисов (-) в имени индекса при сопоставлении с переменными среды в Windows, или есть еще один шаг настройки, который мне не хватает?
/>Среда:
- ОС: Windows 11
- Оболочка: CMD / PowerShell
- uv-версия: (последняя)
Подробнее здесь: https://stackoverflow.com/questions/798 ... -variables
Мобильная версия