Превращаем Python-скрипт в исполняемый файл
easy

Превращаем Python-скрипт в исполняемый файл

Работает везде, собирается быстро

Обычно для запуска Python-скрипта нужно установить Python, потом все библиотеки, потом проверить зависимости и только потом можно запускать. Сегодня научимся собирать всё это в один файл — его можно будет запустить на любом компьютере, даже если там нет Python.

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

🕔 Время: 5 минут.

✅ Понадобится: библиотека pyInstaller.

👉 Коротко суть. С помощью библиотеки pyInstaller можно собрать все файлы, модули и зависимости в одном месте, привязать к ним интерпретатор Python, а потом обернуть это в один файл. Это значит, что мы получаем как бы виртуальный контейнер, в котором уже есть всё, что нужно для запуска скрипта, — без установки на свой компьютер.

Как установить Python на компьютер и начать на нём писать

Ставим pyInstaller

В командной строке или в терминале VS Code пишем команду. Командную строку после этого не закрываем — она нам ещё пригодится:

pip install pyinstaller

Превращаем Python-скрипт в исполняемый файл

Переходим в папку со скриптом

Чтобы было проще собирать скрипт в один файл, нам нужно перейти в ту папку, где лежит наш исходный скрипт. Для этого в той же командной строке используем команду cd, после которой пишем полный путь к папке. Например, если скрипт лежит в папке Downloads, то команда будет выглядеть так:

cd /Users/mihailpolanin/Downloads

Если всё прошло штатно, мы увидим название папки в конце приветствия командной строки:

Превращаем Python-скрипт в исполняемый файл

Как работает скрипт, собранный в один файл

Есть два варианта работы библиотеки: собрать всё в одну папку или упаковать всё в один файл. Но на самом деле это всё примерно одно и то же, потому что итоговый файл работает так:

  1. Создаёт виртуальную папку.
  2. Распаковывает из себя все библиотеки, служебные файлы и исполняемый файл Python.
  3. На основе этого создаёт виртуальную среду и подключает все нужные библиотеки.
  4. Запускает Python и уже в нём выполняет наш скрипт.

Получается, что на самом деле мы просто создаём оболочку для скрипта, а внутри всё работает точно так же, как если бы мы запускали этот скрипт по старинке.

Превращаем скрипт в исполняемый файл

Единственный параметр, который нам нужно указать при запуске — то, что результат нужен в виде единого файла. Для этого используется параметр --onefile — если его не будет, то библиотека сделает нам одну папку вместо одного файла.

Проверим работу упаковщика на примере скрипта из статьи про графический интерфейс в Python. Для этого нужно написать pyinstaller и через пробел — имя скрипта. Если скрипт называется gui.py, то команда будет выглядеть так:

pyinstaller --onefile gui.py

После запуска в папке со скриптом появятся две новых папки — build и dist. Первая нам не нужна, поэтому заходим в dist — там и лежит наш готовый файл. Если это делать в Windows, там будет лежать файл для Windows. Если делать на Mac OS, получится приложение для Mac OS.

Превращаем Python-скрипт в исполняемый файл
Размер файла — 25 мегабайт, а всё потому, что кроме скрипта внутри находятся все используемые библиотеки

Проверяем работу

Запускаем файл — просто дважды щёлкаем на нём мышкой и смотрим, что произойдёт.

После запуска открывается терминал, где видны служебные сообщения от программы графического интерфейса. Через несколько секунд (когда подключатся все библиотеки) мы видим новое окошко с графическим интерфейсом — значит, мы всё сделали правильно и этот файл можно запускать независимо от того, есть Python на компьютере или нет.

Если почитать документацию, можно тонко настроить работу сборщика — например, чтобы не было консоли. 

Превращаем Python-скрипт в исполняемый файл
Любишь Python? Зарабатывай на нём!
Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно.
Попробовать бесплатно
Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём!
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy