PyInstaller: Упаковка Python-приложений в исполняемые файлы
👉 Преимущества
- Работает с Python версий 3.8–3.14
- Поддерживает Windows (32/64-bit, ARM64), Linux (glibc/musl), macOS (x86_64/arm64)
- Корректно упаковывает популярные пакеты: numpy, PyQt5/PyQt6, PySide2/PySide6, wxPython, matplotlib и другие
- Поддерживает код-сайн на macOS
- Включает MS Visual C++ DLL на Windows
- Не требует кросс-компиляции (сборка выполняется на целевой платформе)
⬇️ Установка
Проверка
⏺️ Создание одно папочного пакета (режим по умолчанию)
Создает папку dist/script/ с исполняемым файлом и всеми зависимостями
⏺️ Создание однофайлового исполняемого пакета
Создает один исполняемый файл dist/script.exe (или script на Linux/macOS), который распаковывается во временную папку при запуске
⏺️ Добавление дополнительных файлов данных
Формат:
⏺️ Указание путей поиска импортов
⏺️ Исключение модулей
⏺️ Упаковка веб-приложения (Flask/Django)
⏺️ Создание пакета для многократного использования с очисткой кэша
🔎 Ограничения и требования
- Cборка выполняется на той же ОС, для которой создается пакет (не кросс-компиляция)
- Поддерживаются указанные версии (Python 3.10.0 содержит баг, несовместимый с PyInstaller)
- Требуются ldd, objdump, objcopy (пакет binutils)
- Однофайловые пакеты включают интерпретатор и библиотеки, что увеличивает размер (обычно 5–50 МБ)
- Некоторые антивирусные программы могут ложно срабатывать на упакованные приложения
#PyInstaller #tool #pentest #Python
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
PyInstaller — инструмент для создания автономных исполняемых пакетов из Python-скриптов. Пользователь может запускать собранное приложение без установки интерпретатора Python или каких-либо модулей. PyInstaller анализирует исходный скрипт, обнаруживает все необходимые модули и библиотеки, после чего собирает их копии вместе с интерпретатором Python в одну папку или, опционально, в один исполняемый файл.
- Работает с Python версий 3.8–3.14
- Поддерживает Windows (32/64-bit, ARM64), Linux (glibc/musl), macOS (x86_64/arm64)
- Корректно упаковывает популярные пакеты: numpy, PyQt5/PyQt6, PySide2/PySide6, wxPython, matplotlib и другие
- Поддерживает код-сайн на macOS
- Включает MS Visual C++ DLL на Windows
- Не требует кросс-компиляции (сборка выполняется на целевой платформе)
sudo apt install pyInstaller
Проверка
pyInstaller -h
pyinstaller script.py
Создает папку dist/script/ с исполняемым файлом и всеми зависимостями
pyinstaller --onefile script.py
Создает один исполняемый файл dist/script.exe (или script на Linux/macOS), который распаковывается во временную папку при запуске
pyinstaller --add-data "config.ini:." --add-data "images:images" script.py
Формат:
"source:dest_dir". Для Windows разделитель — ;, для Linux/macOS — :.pyinstaller --paths ./external_libs --paths ./helpers script.py
pyinstaller --exclude-module tkinter --exclude-module test script.py
pyinstaller --onefile --add-data "templates:templates" --add-data "static:static" --hidden-import jinja2 run.py
pyinstaller --clean --distpath ./release --workpath ./build_tmp --onefile script.py
- Cборка выполняется на той же ОС, для которой создается пакет (не кросс-компиляция)
- Поддерживаются указанные версии (Python 3.10.0 содержит баг, несовместимый с PyInstaller)
- Требуются ldd, objdump, objcopy (пакет binutils)
- Однофайловые пакеты включают интерпретатор и библиотеки, что увеличивает размер (обычно 5–50 МБ)
- Некоторые антивирусные программы могут ложно срабатывать на упакованные приложения
#PyInstaller #tool #pentest #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥4