Build constraints ограничивают версии пакетов внутри изолированной среды сборки и не меняют состав конечного runtime-окружения, куда устанавливается готовый дистрибутив. Границы разделены.

Создайте отдельный файл

Запишите допустимые версии setuptools, Cython или другого backend-инструмента с причиной ограничения, не добавляя туда обычные зависимости приложения.

Передайте его установщику

Флаг –build-constraint применяется во время сборки sdist и не заставляет устанавливать перечисленные инструменты в итоговый venv после создания wheel.

python -m pip install --build-constraint build-constraints.txt package_name

Не заменяйте runtime constraints

Обычный -c управляет кандидатами конечной установки, а новый файл касается временной build-среды, поэтому проекту могут понадобиться оба независимых набора.

После добавления ограничения соберите проблемный sdist в чистом контейнере и сохраните лог, чтобы подтвердить версию backend внутри временной среды.

Изоляцию объясняет разбор build isolation. Пример дает раздел Build Constraints.