Установка PyInstaller
Для установки PyInstaller используйте pip:
pip install pyinstaller
Базовая команда для создание исполняемого файла
pyinstaller скрипт.py
Создание одного исполняемого файла
Для упаковки всех зависимостей в один файл, используйте флаг -F:
pyinstaller -F скрипт.py
Настройка иконки
Чтобы задать иконку для вашего исполняемого файла, используйте флаг -i и укажите путь к иконке:
pyinstaller -F -i "путь/к/иконке.ico" скрипт.py
Создание без консоли
Если ваш скрипт является графическим приложением и вы не хотите, чтобы при запуске отображалась консоль, используйте флаг w:
pyinstaller -F -w скрипт.py
Конфигурация с помощью spec-файлов
PyInstaller создает .spec файл, который содержит все настройки для упаковки. Вы можете отредактировать этот файл для более точной настройки процесса создания исполняемого файла.
Создание spec-файла
Для создания spec-файла используйте команду:
pyi-makespec скрипт.py
Использование spec-файла
Для упаковки с использованием spec-файла выполните команду:
pyinstaller скрипт.spec
Добавление данных и дополнительных файлов
Для включения дополнительных файлов и данных в ваш исполняемый файл используйте параметр --add-data. Формат: файл_или_каталог;путь_в_пакете.
pyinstaller -F --add-data "путь/к/файлу;цель/путь/в/пакете" скрипт.py
Советы по устранению проблем
Ошибки при импорте модулей
Если PyInstaller не удается автоматически обнаружить все зависимости, вы можете явно указать их с помощью параметра --hidden-import:
pyinstaller --hidden-import=имя_модуля скрипт.py
Отладка
Для получения подробной информации об ошибках используйте флаг --debug:
pyinstaller --debug=all скрипт.py
Очистка старых сборок
Перед созданием новой сборки рекомендуется очистить старые файлы с помощью команды:
pyinstaller --clean скрипт.py
Запуск PyInstaller из кода Python
Эквивалентно:
pyinstaller my_script.py --onefile --windowed
Заключение
PyInstaller - мощный инструмент для упаковки Python-программ в исполняемые файлы. С его помощью вы можете легко распространять свои приложения без необходимости установки Python и зависимостей на целевой системе. Используйте эту памятку для быстрого начала работы и настройки PyInstaller под свои нужды.