PyQt в EXE в Python — пример преобразования
Мы преобразуем программу Editor в исполняемый файл в Windows с помощью PyInstaller в Python. Ниже показана структура каталогов программы Editor:
├── assets | ├── editor.png | ├── exit.png | ├── new.png | ├── open.png | ├── redo.png | ├── save.png | └── undo.png └── main.py
В этом проекте:
- В каталоге assets хранятся все изображения, используемые программой.
- В файле main.py хранится исходный код программы.
Сначала активируйте виртуальную среду, в которой работает программа PyQt.
Обратите внимание: если вы не используете виртуальную среду, PyInstaller может создать вывод большого размера, включающий все установленные пакеты.
Во-вторых, используйте следующую команду pip для установки PyInstaller:
pip install pyinstaller
PyInstall имеет множество опций, перечисленных на этой странице. Однако в этом уроке мы покажем вам наиболее часто используемые из них.
В-третьих, используйте следующую команду pyinstaller, чтобы преобразовать программу Editor в исполняемый файл:
pyinstaller main.py --noconsole --add-data "assets;assets" --icon="assets/editor.png" --name editor --noconfirm
После успешного выполнения этой команды вы увидите, что PyInstaller создает новые каталоги и файлы, включая build, dist и editor.spec:
├── assets | ├── editor.png | ├── exit.png | ├── new.png | ├── open.png | ├── redo.png | ├── save.png | └── undo.png ├── build | └── editor ├── dist | └── editor ├── editor.spec └── main.py directory: 5 file: 9
Внутри каталога dist/editor вы найдете файл editor.exe. Чтобы запустить программу, вы можете дважды щелкнуть по нему:
Как работает команда pyinstaller:
- Параметр —noconsole скрывает окно консоли при запуске программы.
- Опция —add-data «assets;assets» копирует каталог assets в каталог dist/editor, чтобы программа могла ссылаться на изображения и правильно их отображать. Формат опции —add-data — SRC;DEST. Если вы хотите скопировать несколько каталогов, вы можете использовать несколько опций —add-data.
- Параметр —icon=»assets/editor.png» указывает значок для главного окна.
- —name editor option назначает имя программе, например, editor. Если вы проигнорируете эту опцию, PyInstaller будет использовать файл Python в качестве имени программы, например, main.
- Параметр —noconfirm удалит существующие каталоги build и dist без подтверждения, если вы выполните команду снова.