Инструмент автоматизации сборки Python-проектов с задачами, связанными зависимостями, и плагинами для настройки жизненного цикла сборки.
SCons/scons
SCons — инструмент сборки на Python: он определяет, что нужно пересобрать, и запускает необходимые команды.
- Звёзды
- 2,438
- Форки
- 364
- Открытые issues
- 647
- Последний коммит
- 4 дня назад
Что это?
SCons управляет сборкой программного обеспечения и других продуктов, например документации: определяет, какие компоненты устарели, и запускает команды для их пересборки. Файлы конфигурации сборки — это обычные скрипты Python, поэтому логику сборки можно описывать на полноценном языке программирования, а не в отдельном предметно-ориентированном синтаксисе.
Анализ зависимостей для C, C++ и FORTRAN встроен, а сам инструмент включает средства сборки для D, Java, Yacc, Lex, Qt, SWIG, TeX и LaTeX. Для других языков и типов файлов можно добавлять собственные сканеры и средства сборки. По умолчанию изменения обнаруживаются с помощью криптографических хешей; при желании можно использовать временные метки. Также поддерживаются параллельная сборка и общий кэш сборки.
SCons предназначен для кроссплатформенной сборки и работает в Linux, других POSIX-системах, Windows, macOS и OS/2. Для установки используется pip; требуется Python версии 3.9 или выше.
Ключевые возможности
- 01Конфигурация сборки задаётся скриптами Python, а не на пользовательском DSL.
- 02Встроенный анализ зависимостей для C, C++ и FORTRAN с возможностью расширять набор сканеров.
- 03Встроенные средства сборки для D, Java, Qt, SWIG, Yacc, Lex, TeX и LaTeX.
- 04Обнаружение изменений по криптографическим хешам; при желании можно использовать временные метки.
- 05Параллельная сборка и общий кэш сборки.
- 06Кроссплатформенная поддержка, включая Windows, Linux, macOS и другие POSIX-системы.
Сценарии использования
- Сборка проектов на C или C++, которым нужно автоматически отслеживать зависимости от заголовочных файлов.
- Создание единого скрипта сборки, который координирует генерацию кода, компиляцию и подготовку документации.
- Кроссплатформенная сборка, которая должна работать и в Windows, и в POSIX-системах.
- Генерация файлов проектов Visual Studio на основе описания сборки SCons.
Быстрый старт
- 1
Установите SCons с помощью pip
python -m pip install --user scons - 2
Прочитайте первые главы руководства пользователя SCons
Что важно знать
- Требуется Python версии 3.9 или выше.
- В Windows может потребоваться добавить в PATH каталог Scripts Python, в котором находится исполняемый файл scons.
Темы
Частые вопросы
- Что такое scons?
- SCons — инструмент сборки на Python: он определяет, что нужно пересобрать, и запускает необходимые команды. SCons управляет сборкой программного обеспечения и других продуктов, например документации: определяет, какие компоненты устарели, и запускает команды для их пересборки. Файлы конфигурации сборки — это обычные скрипты Python, поэтому логику сборки можно описывать на полноценном языке программирования, а не в отдельном предметно-ориентированном синтаксисе.
- scons можно использовать бесплатно? Какая у него лицензия?
- scons распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- scons всё ещё поддерживается?
- Активно поддерживается. Последний коммит в scons — 3 нояб. 2026 г..
- Для чего можно использовать scons?
- Сборка проектов на C или C++, которым нужно автоматически отслеживать зависимости от заголовочных файлов. Создание единого скрипта сборки, который координирует генерацию кода, компиляцию и подготовку документации. Кроссплатформенная сборка, которая должна работать и в Windows, и в POSIX-системах. Генерация файлов проектов Visual Studio на основе описания сборки SCons.
- Как установить scons?
- Установите SCons с помощью pip: python -m pip install --user scons Прочитайте первые главы руководства пользователя SCons
- Где скачать scons?
- Исходный код и инструкции по установке — на GitHub: https://github.com/SCons/scons
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Python-средство для запуска задач и сборки: задачи задаются обычными функциями, а уже выполненные шаги повторно не запускаются.
Инструмент на Python для воспроизводимой сборки и развёртывания приложений из Python-дистрибутивов и других систем.
Полный набор инструментов для сборки, упаковки и публикации настольных приложений на Electron — от создания проекта до выпуска.
Строгий и принципиальный плагин для flake8: поддерживает единый стиль Python и выявляет сложные конструкции кода.
Кэш компилятора для Rust, C/C++ и CUDA, который восстанавливает готовые результаты сборки между worktree и запусками CI вместо повторной компиляции.