При современной сборке pip создает временную изолированную среду, устанавливает туда зависимости build-system из pyproject.toml и не наследует случайные версии инструментов из рабочего venv. Скрытое состояние исчезает.
Оставьте изоляцию по умолчанию
Так backend получает объявленные setuptools, hatchling или другие инструменты, а результат сборки заметно легче повторить на чистом runner без скрытого локального состояния.
Отключайте только осознанно
Флаг –no-build-isolation запрещает pip готовить build-среду. Все необходимые версии уже должны быть установлены и проверены вами до запуска.
python -m pip install --no-build-isolation .
Учитывайте закрытую сеть
В офлайн-сборке заранее добавьте build-зависимости в локальный источник или образ, поскольку наличие runtime-пакетов в wheelhouse не гарантирует наличие backend и его плагинов.
Если сборка работает только без изоляции, сравните объявленные и реально установленные build-зависимости, ведь обычно это признак неполного pyproject.toml, а не настоящее решение проблемы.
Предварительно собрать артефакты помогает команда pip wheel. Поведение флага указано в справочнике pip install.