Nuitka: Компилятор Python в исполняемые файлы
👉 Ключевые особенности
- Поддерживает Python 2.6–2.7 и 3.4–3.14
- Различные режимы компиляции: ускоренный (accelerated), автономный (standalone), однофайловый (onefile), модуль (module), пакет (package)
- Работает на Windows, Linux, macOS, FreeBSD
- Автоматическое управление зависимостями (включает необходимые модули и библиотеки)
- Поддержка упаковки данных (включение файлов ресурсов, DLL, метаданных)
- Интеграция с внешними компиляторами (MSVC, MinGW64, gcc, clang, zig)
⬇️ Установка
Проверка
⏺️ Компиляция в ускоренном режиме (по умолчанию)
Создает исполняемый файл script.exe (Windows) или script.bin (Linux/macOS).
⏺️ Создание автономной папки (standalone)
Создает директорию script.dist с исполняемым файлом и всеми необходимыми библиотеками.
⏺️ Создание однофайлового исполняемого файла
Создает один исполняемый файл, который распаковывается во временную директорию при запуске.
⏺️ Компиляция модуля расширения
Создает some_module.so (Unix) или some_module.pyd (Windows).
⏺️ Управление включением модулей
⏺️ Работа с данными и ресурсами
⏺️ Базовая компиляция с зависимостями
⏺️ Компиляция веб-приложения Flask
⏺️ Компиляция GUI-приложения на PyQt
⏺️ Компиляция с расширенной информацией для отладки
⏺️ Оптимизация с профилированием (PGO)
⏺️ Компиляция с использованием zig компилятора
⏺️ Создание детального отчета
🎇 Ограничения и требования
- Для Python 3.4 требуется дополнительный Python 2 или 3.5+ для SCons
- На Windows MinGW64 не работает с Python 3.13+
- Автономные сборки требуют копирования всей директории .dist
- Однофайловые сборки распаковываются во временную директорию при запуске
#Nuitka #Python #tool #CPython
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Nuitka — это компилятор, транслирующий Python-код в C, а затем создающий исполняемый файл или модуль расширения. Инструмент написан на Python и обеспечивает полную совместимость с CPython, поддерживая практически все конструкции языка от Python 2.6 до 3.14. Основное назначение Nuitka — создание автономных приложений, ускорение выполнения кода и распространение программ без зависимости от интерпретатора.
- Поддерживает Python 2.6–2.7 и 3.4–3.14
- Различные режимы компиляции: ускоренный (accelerated), автономный (standalone), однофайловый (onefile), модуль (module), пакет (package)
- Работает на Windows, Linux, macOS, FreeBSD
- Автоматическое управление зависимостями (включает необходимые модули и библиотеки)
- Поддержка упаковки данных (включение файлов ресурсов, DLL, метаданных)
- Интеграция с внешними компиляторами (MSVC, MinGW64, gcc, clang, zig)
pip install nuitka
Проверка
nuitka -h
nuitka script.py
Создает исполняемый файл script.exe (Windows) или script.bin (Linux/macOS).
nuitka --mode=standalone --follow-imports script.py
Создает директорию script.dist с исполняемым файлом и всеми необходимыми библиотеками.
nuitka --mode=onefile --follow-imports script.py
Создает один исполняемый файл, который распаковывается во временную директорию при запуске.
nuitka --mode=module some_module.py
Создает some_module.so (Unix) или some_module.pyd (Windows).
#включение конкретного модуля
nuitka --include-module=requests script.py
#включение всего пакета
nuitka --include-package=PyQt6 script.py
#исключение модулей
nuitka --nofollow-import-to=*.tests script.py
#включение файлов данных пакета
nuitka --include-package-data=package_name script.py
#включение конкретных файлов
nuitka --include-data-files=/path/to/config.json=config.json script.py
#включение целой директории
nuitka --include-data-dir=./data=data script.py
nuitka --mode=standalone --follow-imports --output-dir=./dist myapp.py
nuitka --mode=onefile \
--follow-imports \
--include-package-data=flask \
--include-package-data=jinja2 \
--include-data-dir=./templates=templates \
--include-data-dir=./static=static \
app.py
nuitka --mode=standalone \
--follow-imports \
--include-package=PyQt6 \
--windows-icon-from-ico=icon.ico \
--windows-disable-console \
main.py
nuitka --mode=standalone \
--follow-imports \
--verbose \
--report=report.xml \
--show-modules \
script.py
nuitka --mode=standalone \
--follow-imports \
--pgo \
--pgo-args="--test-option" \
script.py
nuitka --mode=standalone --zig --follow-imports script.py
nuitka --mode=standalone --follow-imports --report=build_report.xml script.py
- Для Python 3.4 требуется дополнительный Python 2 или 3.5+ для SCons
- На Windows MinGW64 не работает с Python 3.13+
- Автономные сборки требуют копирования всей директории .dist
- Однофайловые сборки распаковываются во временную директорию при запуске
#Nuitka #Python #tool #CPython
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥3