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.