Преобразование Python кода в исполняемые файлы Windows и Android
Введение
Сегодня рассмотрим способы преобразования обычного Python файла в исполняемый файл.
реклама
Исполняемый файл- это тип файла, который может быть установлен или активирован на устройстве без необходимости в дополнительном ПО или библиотеках. Преобразовав свой Python-скрипт в исполняемый файл exe/apk, вы защитите свой код от модификаций или прочтения, а также упростите работу с вашей программой.
Подготовка
Для начала я создам python скрипт для проверки его работоспособности после преобразования в исполняемый файл. Этот код рисует черный круг с помощью модуля turtle.
В исполняемый файл Windows
PyInstaller
реклама
Это один из популярных инструментов для создания исполняемых файлов из файлов Python. Он позволяет упаковать все зависимости вашего проекта в один исполняемый файл. Чтобы использовать PyInstaller, установите его с помощью команды в командной строке:
pip install pyinstaller
Теперь переходим в директорию с .py файлом
cd C:\Путь_к_папке
реклама
Наиболее часто используемые аргументы PyInstaller:
- --onefile или -F: Создает одиночный исполняемый файл, включая все зависимости.
- --onedir или -D: Создает исполняемый файл в виде набора файлов и папок, сохраняя зависимости в отдельной папке.
- --name или -n: Устанавливает имя исполняемого файла.
- --icon или -i: Устанавливает лого для исполняемого файла (должна быть в формате .ico).
- --noconsole или -w: Исполняемый файл будет запускаться без консольного окна (для скрытия консольного вывода).
- --add-data или -a: Добавляет дополнительные файлы или папки, которые должны быть включены в исполняемый файл.
- --exclude-module или -x: Исключает указанный модуль из упаковки.
- --hidden-import или -p: Указывает модули, которые должны быть включены в упаковку, но не обнаружены автоматически.
Теперь давайте скомпилируем наш код в exe файл. Для этого прописываем команду:
pyinstaller файл.py
После завершения процесса появилось две папки: build и dist. Папка build используется программой для хранения временных данных, необходимых для сборки исполняемого файла. В папке dist хранится результат выполненной операции.
реклама
Собранный exe будет работать только в том случае, если находится в одной папке со всеми дополнительными файлами. Если его переместить или удалить доп. файлы, то он работать не будет.
Чтобы этого избежать можно использовать аргумент --onefile или -F
pyinstaller -F файл.py
PyInstaller собрал все доп. файлы в архив и теперь в папке dist находится только нужный нам exe файл. Его можно переместить, а папки build и dist удалить.
В исполняемый файл Android
Buildozer
Это инструмент, ориентированный на Linux дистрибутивы для автоматизации сборки и упаковки приложений Python для платформы Android. Если у вас Windows, то необходимо использовать WSL или другие виртуальные машины. Ваш python файл должен быть совместимым с Android. Buidozer позволяет создавать apk из файлов Python с минимальными усилиями. Для установки прописываем это в командной строке linux:
sudo apt update && sudo apt upgrade && sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev && pip install buildozer
Теперь нужно создать .spec файл в котором будет храниться вся информация о приложении. Сначала перейдите в нужную директорию в командной строке.
buildozer init
Необходимо переименовать python файл в main.py. Открываем появивщийся buildozer.spec файл и переходим к настройке. Вот некоторые из наиболее часто используемых параметров, которые можно настроить:
- title - Название исполняемого файла.
- package.name - Имя пакета вашего исполняемого файла .
- package.domain - Доменное имя вашего приложения.
- source.dir - Путь к .py файлу.
- source.include_exts - Расширения файлов, которые должны быть включены в сборку.
- version - Версия исполняемого файла.
- requirements - Зависимости файла.
Прописываем эту команду для запуска сборки apk приложения:
buildozer android debug
В теории после сборки вы получите apk приложение. Но далеко не факт, что все получится без ошибок, с первого раза и получится вообще, ведь
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила