Преобразуем проект на Python в исполняемый файл .EXE с помощью PyInstaller
Внимание! Исполняемый файл будет работать только на той же платформе, на которой он был создан. Например, исполняемый файл, созданный в Windows 10-64 bit, не будет работать в Windows 10-32 bit или в Windows Server. Очевидно, что он также не будет работать на Mac OS или ОС на базе Linux.
Разработчик https://pyinstaller.org/en/stable/
Устанавливаем библиотеку PyInstaller в наше окружение. Важно установить именно в окружение, иначе могут быть проблемы с установкой модулей. Можем получить ошибку “pyinstaller no module named”.
Windows:
py -m pip install pyinstaller
Unix/macOS:
python3 -m pip install pyinstaller
Преобразуем скрипт в программу
pyinstaller myscript.py --onefile --windowed
–onefile – приложение в одном файле
–windowed – не показывать консоль
–console – показывать консоль
У вас появятся две новые папки:
– build
– dist
В папке dist будет лежать наш исполняемый файл.
Ошибки
pyinstaller no module named
- Удаляем пакет в папке build и формируем файл заново
- Или пробуем добавить установку модуля принудительно с помощью
--hidden-import
:
pyinstaller myscript.py --onefile --windowed --hidden-import=namemodule
Ошибка «ModuleNotFoundError: No module named ‘setuptools’»
Некоторые пакеты Python используют для развёртывания distutils, но в настоящее время большинство использует setuptools.
Setuptools — это расширение для python-distutils для больших и сложных развёртываний.
Если у вас Ubuntu, Linux Mint, Debian или производный от них дистрибутив, то вы можете установить этот пакет из стандартных репозиториев:
sudo apt install python3-setuptools
Если вы уже установили PIP (а именно пакет python3-pip), то вместо указанной выше команды, можно выполнить такую:
sudo pip3 install --upgrade setuptools
Если у вас Windows:
python -m pip install -U pip setuptools