Основная причина упаковки программ Python в exe (исполняемые файлы) — облегчить распространение и использование, одновременно защищая код и улучшая взаимодействие с пользователем. . Этот процесс имеет несколько ключевых преимуществ:
Для упаковки программы Python в исполняемый файл EXE для платформы Windows можно использовать несколько методов или инструментов. Ниже приведены некоторые часто используемые инструменты упаковки:
1、 PyInstaller : Наверное, один из самых популярных упаковочных инструментов. Он поддерживает упаковку приложений Python в отдельный исполняемый файл без использования локальной среды Python. PyInstaller поддерживает несколько платформ, включая Windows, macOS и Linux.
2、 cx_Freeze : это еще один широко используемый инструмент, который можно использовать для создания кроссплатформенных приложений, включая EXE-файлы, в Windows. cx_Freeze — это инструмент, управляемый сценариями, который позволяет пользователям настраивать процесс упаковки с помощью сценариев.
3、 py2exe : это инструмент, разработанный специально для Windows, который может конвертировать сценарии Python в исполняемые файлы, которые работают только в Windows. py2exe хорошо справляется с обработкой зависимостей и включением необходимых библиотек, но не поддерживает Python. Версия 3.5 и выше.
3、 Nuitka : Nuitka — это компилятор Python, который компилирует код Python в двоичные исполняемые файлы. Его можно использовать не только для создания автономных исполняемых файлов, но и для оптимизации производительности кода Python.
4、 Py2app : Хотя py2app в основном используется для создания пакетов приложений в macOS, его также можно использовать для создания автономных исполняемых файлов в Windows.
5、 PyOxidizer : это относительно новый инструмент, который создает автономный двоичный исполняемый файл, содержащий интерпретатор Python и зависимые библиотеки. PyOxidizer ориентирован на создание небольших, быстрозапускаемых приложений.
6、 Briefcase : Briefcase — это инструмент для упаковки проектов Python в автономные приложения, поддерживающие несколько платформ, включая Windows, macOS и Linux.
Я нашел сравнение в Интернете:
pip install pyinstaller
При обновлении:
pip install --upgrade pyinstaller
Некоторые часто используемые параметры PyInstaller и их описания:
--onefile или -F:
Создайте один исполняемый файл. По умолчанию PyInstaller создает папку, содержащую файлы зависимостей.
При использовании этой опции все зависимости упаковываются в один файл.
--noconsole или -w:
Используется для приложений с графическим интерфейсом без отображения окна консоли.
Не применимо к консольным программам, требующим взаимодействия.
--console, -c:
Принудительно открыть окно консоли (поведение по умолчанию).
--icon=путь к значку:
Добавьте значок в созданный exe-файл.
Путь к значку должен быть полным путем к файлу .ico.
--add-data=<SRC;DEST>:
Включайте файлы, отличные от Python, в упакованные приложения.
<SRC;DEST>это пара путей источника и назначения,Разделяйте точкой с запятой; В Linux и MacOS,Используйте двоеточие:вместо точки с запятой。
--name=имя:
Укажите имя выходного файла.
--paths=пути:
Добавьте дополнительные пути при поиске импортированных модулей.
--hidden-import=имя модуля или --hiddenimport:
Укажите скрытый импорт, который не может быть автоматически обнаружен PyInstaller.
--windowed:
Другой способ написать --noconsole.
--version-file=файл:
Добавляет ресурс версии из указанного файла в исполняемый файл.
--runtime-hook=Файл:
Хуки времени выполнения — это сценарии, которые запускаются во время инициализации интерпретатора Python.
--distpath=DIR:
Укажите папку распространения вывода, по умолчанию — ./dist.
--workpath=DIR:
Укажите рабочую папку для хранения временных рабочих файлов. По умолчанию — ./build.
--clean:
Очистите временные файлы и кеш, созданные PyInstaller.
--debug:
Сгенерируйте выходные данные и файлы для отладки.
--upx-dir:
Если у вас установлен инструмент сжатия UPX, этот параметр указывает его путь.
1. Напишите свой собственный код Python, например:
hello.py:
print("Hello world!")
2. Выполнение упаковки команд
pyinstaller hello.py
Вы можете заменить hello.py записью файла, которую необходимо упаковать.
3. Он будет сгенерирован после выполнения.
После выполнения указанной выше команды PyInstaller создаст две папки в текущем каталоге: build/ и dist/.
Папка dist/ содержит исполняемые файлы.
Если все в порядке, exe-файл будет найден здесь.
4. Запустите файл
Вы можете дважды щелкнуть его, чтобы запустить, или запустить непосредственно в cmd.
1. Один файл (--onefile):
Используйте параметр --onefile для создания одного exe-файла:
pyinstaller --onefile your_script.py
Это создаст один exe-файл, содержащий все зависимости.
2, Нет консоли (--noconsole):
Для приложений с графическим интерфейсом используйте параметр --noconsole, чтобы не отображать окно командной строки:
pyinstaller --noconsole your_script.py
3. Добавьте значок (--icon=path/icon.ico):
В exe-файл можно добавить значок:
pyinstaller --onefile --icon=путь/icon.ico your_script.py
4. Добавьте файлы данных:
Если вашему приложению требуются дополнительные файлы данных (например, изображения, текстовые файлы и т. д.), вы можете указать их с помощью опции --add-data.