Как настроить uv через pyproject.toml, чтобы привязать PyTorch (+cu118) к пользовательскому индексу и запретить запуску Python

Программы на Python
Ответить
Anonymous
 Как настроить uv через pyproject.toml, чтобы привязать PyTorch (+cu118) к пользовательскому индексу и запретить запуску

Сообщение Anonymous »

Я управляю проектом с помощью uv (v0.9.4), для которого требуется специальная сборка PyTorch CUDA. Общая установка работает, но использование uv run вызывает конфликт пакетов, несмотря на корректность среды.
Я успешно установил пакет CUDA 11.8 в свою среду, используя явный URL-адрес индекса:

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

uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Прямая проверка подтверждает, что версия CUDA установлена ​​и доступна в активированной среде:

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

python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())"
# Output: 2.7.1+cu118 11.8 True
Однако, когда я пытаюсь запустить скрипт (

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

test_gpu.py
), используя uv run, он каким-то образом игнорирует правильно установленный пакет и разрешает/устанавливает сборку только для ЦП (

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

2.8.0+cpu
), что приводит к ошибке выполнения:

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

uv run python test_gpu.py
# Output snippet:
# PyTorch version: 2.8.0+cpu
# CUDA available: False
# AssertionError: Torch not compiled with CUDA enabled
Похоже, проблема в том, что uv run запускает процесс повторного разрешения зависимостей, который находит общую версию ЦП в индексе PyPI по умолчанию и отдает ей приоритет перед пользовательской сборкой CUDA.
Какова надежная, идиоматическая конфигурация pyproject.toml, чтобы гарантировать, что uv уважает пользовательский индекс для PyTorch и позволяет избежать этого конфликта, позволяя мне использовать uv запустить?

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

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

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

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

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

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