PyInstaller — это инструмент для конвертации программ на Python в самостоятельные исполняемые файлы (.exe). Такая упаковка особенно полезна для распространения приложений среди пользователей, не имеющих Python и необходимых зависимостей на своих машинах.
В этом руководстве мы рассмотрим, как установить PyInstaller, создать простой .exe файл и настроить его для более сложных задач.
Что такое PyInstaller?
PyInstaller — это утилита для упаковки приложений на Python в исполняемые файлы. Она поддерживает Windows, MacOS и Linux. PyInstaller анализирует ваш проект, собирает все необходимые файлы и зависимости, и создаёт пакет, который можно запускать на машинах, где Python не установлен.
Преимущества использования PyInstaller
- Лёгкость использования: Простая установка и минимальные требования по настройке.
- Многоплатформенность: Поддержка Windows, MacOS и Linux.
- Гибкость в настройке: Возможность настройки конфигурационного файла (.spec) для более сложных случаев.
Сравнение с другими инструментами
Другие популярные инструменты для создания исполняемых файлов включают cx_Freeze и Py2exe. Однако PyInstaller выделяется своей простотой и мощной поддержкой множества платформ и форматов.
Установка PyInstaller
Установка PyInstaller предельно проста и осуществляется через pip.
Установка через pip
pip install pyinstaller
Эта команда установит самую последнюю версию PyInstaller.
Проверка установки
Для проверки успешной установки выполните следующую команду:
pyinstaller --version
Эта команда должна вывести версию установленного PyInstaller.
Создание простого .exe файла
Теперь мы создадим простой исполняемый файл из программы на Python.
Пример программы
Рассмотрим простую программу hello.py:
def hello_world() -> None:
"""Print 'Hello, World!' to the console."""
print('Hello, World!')
if __name__ == '__main__':
hello_world()
Конвертация в .exe
Конвертация программы в .exe осуществляется командой:
pyinstaller --onefile hello.py
Ключ --onefile создаёт один исполняемый файл.
Структура выходных файлов
После выполнения команды в директории проекта появятся папки build и dist, а также несколько дополнительных файлов.
build: Временные файлы процесса сборки.dist: Содержит готовый .exe файл..spec: Конфигурационный файл сборки.
Настройка PyInstaller
Для создания более сложных настроек можно использовать конфигурационный файл (.spec).
Использование конфигурационного файла
Создание и настройка .spec файла:
pyinstaller hello.spec
Добавление ресурсов
Вы можете добавить внешние файлы, такие как изображения или текстовые документы:
pyinstaller --onefile --add-data 'data.txt;.' hello.py
Упаковка в GUI
Чтобы создать .exe с графическим интерфейсом, например, используя tkinter, отселуйте руководству по созданию GUI с tkinter и применению PyInstaller.
Отладка и решение проблем
При использовании PyInstaller возможно возникновение ошибок. Рассмотрим общие ошибки и способы их устранения.
Общие ошибки
Некоторые проблемы могут быть связаны с отсутствием файлов или неправильной настройкой путей.
Логи
Вы можете получить более подробные логи для диагностики:
pyinstaller --log-level=DEBUG hello.py
Заключение
В этой статье мы рассмотрели базовые и продвинутые возможности PyInstaller для создания исполняемых файлов из Python программ. Это мощный инструмент для упаковки, но для полного овладения его возможностями рекомендуется ознакомиться с официальной документацией и использовать ресурсы сообщества.