[Перевод] Как сделать из Python-скрипта исполняемый файл

Вы изучаете данные и хотите поделиться своим кодом Python с другими, не раскрывая исходный код и не требуя от них установки Python и других компонентов? Если да, то вас может быть интересна конвертация вашего скрипта Python в исполняемый файл.

1cd5c8e4c3a46fe9ceb6290ef92bef75.png

Исполняемый файл — это файл, который может быть установлен или запущен на компьютере без использования дополнительного программного обеспечения или библиотек. Он имеет расширение .exe и обычно используется для программных приложений в Windows. Конвертируя свой сценарий Python в исполняемый файл, вы можете защитить свой код от изменения или кражи, облегчить другим людям использование вашей программы и сделать автоматическим выполнение задач.

В этой статье я покажу вам два простых метода конвертации файла Python в исполняемый файл с помощью PyInstaller и auto-py-to-exe. Это две популярные библиотеки Python, которые позволяют создавать автономные исполняемые файлы из скриптов Python. Для работы вам понадобится Python 3.6 или выше.

Способ 1: С помощью библиотеки PyInstaller:

Ссылка

PyInstaller — это библиотека Python, которая может анализировать ваш код и компоновать его с необходимыми модулями и библиотеками в один исполняемый файл. Она поддерживает множество платформ, включая Windows, Linux и Mac OS X. PyInstaller также может обрабатывать сложные случаи, такие как импорт файлов данных, скрытый импорт, приложения с графическим интерфейсом и т.д.

Чтобы использовать PyInstaller, вам нужно сначала установить его с помощью pip:

pip install pyinstaller

Затем вам нужно написать свой скрипт Python и сохранить его с расширением .py. В этом примере я буду использовать простой сценарий, который печатает «Hello World» и сохраняет его под именем hello.py:

print("Hello World")

Далее необходимо открыть командную строку и перейти в каталог, где находится ваш скрипт. Затем необходимо выполнить следующую команду:

pyinstaller hello.py

В результате вы создадите папку dist, содержащая исполняемый файл hello.exe. Вы можете дважды щелкнуть на этом файле, чтобы запустить его или поделиться им с другими.

Если вы хотите создать однофайловый исполняемый файл, не требующий дополнительных файлов или папок, вы можете использовать команду --onefile:

pyinstaller --onefile hello.py

В папке dist будет создан один файл hello.exe, содержащий все необходимые коды и ресурсы.

Если вы хотите скрыть окно консоли при запуске исполняемого файла, вы можете использовать опцию --noconsole:

pyinstaller --noconsole --onefile hello.py

Будет создан  исполняемый файл, работающий в фоновом режиме.

Вы также можете настроить другие аспекты исполняемого файла, такие как иконка, имя, версия и т.д., используя различные опции или создав файл спецификации. За более подробной информацией вы можете обратиться к документации PyInstaller.

Способ 2: С помощью auto-py-to-exe:

Ссылка

auto-py-to-exe — это еще одна библиотека Python, которая может конвертировать скрипты Python в исполняемые файлы. Она основана на PyInstaller, но имеет графический интерфейс для пользователя (GUI), что делает ее более простой в работе. Вы можете просто выбрать свой скрипт, подобрать параметры и нажать кнопку, чтобы сгенерировать исполняемый файл.

Чтобы использовать auto-py-to-exe, вам нужно сначала установить его с помощью pip:

pip install auto-py-to-exe

Затем необходимо выполнить следующую команду для запуска графического интерфейса пользователя:

auto-py-to-exe

Откроется окно, которое выглядит следующим образом:

cbb85f5e12a54838c47d07be2548857c.jpeg

Здесь вы можете выбрать свой скрипт, нажав на кнопку Browse рядом с Script Location. Вы также можете выбрать, хотите ли вы получить исполняемый файл в одном файле или в одной папке, выбрав One File или One Directory в разделе Output Options.

Вы также можете изменить другие настройки, такие как иконка, имя, окно консоли и т.д., перейдя на вкладку Advanced и изменив поля Additional Files или Window Based Options.

После того как вы закончите с настройками, нажмите на кнопку Convert .py to .exe в нижней части окна. Это запустит процесс преобразования и покажет результат на вкладке Консоль.

После завершения преобразования вы сможете найти исполняемый файл в папке вывода, указанной в разделе Output Options. Вы можете запустить его или поделиться им с другими пользователями.

От редакции

28 августа начнется новый поток по языку программирования Python. На нем мы разберем: Библиотеки Python и решение конкретных задач DevOps; Правила эффективного и поддерживаемого кода; Принципы автоматизации: Docker, Gitlab, Prometheus, K8S и многое другое.

Узнать больше о потоке вы можете на нашем сайте: https://slurm.io/course-python-for-ops

© Habrahabr.ru