В этом руководстве мы рассмотрим два способа конвертировать скрипт Python в .exe (т.е. создать исполняемый файл). Первый (auto-py-to-exe
) имеет дружественный интерфейс, который поможет новичкам легко создавать исполняемые файлы. Второй (PyInstaller) предлагает возможность быстро создавать исполняемые файлы через терминал.
Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
Зачем вообще может понадобиться подобная конвертация? Запустить скрипт Python (файл с расширением .py) с помощью терминала или вашего любимого текстового редактора очень просто. Но бывают ситуации, в которых лучше спрятать весь код, написанный в скрипте, в исполняемый файл. Например, если вам нужно отправить скрипт кому-то, кто совсем не умеет писать код, или запланировать задание, которое запускает .exe-файл в определенное время на вашем компьютере.
Кстати, если вы предпочитаете смотреть видео, а не читать, вот ссылка на видеотуториал по упаковке скрипта Python в .exe-файл:
Создание исполняемого файла с помощью auto-py-to-exe
Этот способ преобразовать скрипт Python в .exe файл предполагает использование красивого графического интерфейса пользователя (GUI).
Чтобы установить последнюю версию auto-py-to-exe
, просто откройте терминал и выполните следующую команду:
pip install auto-py-to-exe
Примечание: Убедитесь, что рабочая среда, в которой вы устанавливаете auto-py-to-exe
, содержит все библиотеки, необходимые для работы вашего скрипта.
После установки запустить приложение auto-py-to-exe
очень просто – достаточно ввести в терминале следующую команду:
auto-py-to-exe
После выполнения команды откроется GUI-приложение:
А теперь давайте пошагово разберем, как превратить скрипт Python в .exe файл.
Шаг 1: Добавьте местоположение скрипта
Найдите скрипт, который вы хотите преобразовать, и добавьте его в поле “Расположение скрипта”. В этом примере я выберу скрипт, автоматизирующий отчеты Excel.
Вы можете выбрать любой скрипт. Но если он должен считывать путь, убедитесь, что вы используете абсолютные пути, поскольку относительные пути не будут вести себя так, как вы ожидаете от исполняемых файлов. При необходимости включите следующую строку кода, чтобы узнать, где находится исполняемый файл, и внесите необходимые изменения в свой скрипт, чтобы читать/экспортировать файлы в нужный каталог.
application_path = os.path.dirname(sys.executable)
Шаг 2: Выбор “Одной папки” или “Одного файла”
Дальше нам нужно выбрать, что мы хотим создать: “Одну папку” или “Один файл”. В первом случае создается каталог со всеми зависимостями, необходимыми для работы скрипта (включая исполняемый файл), а во втором – только исполняемый файл.
Для этого примера я выберу вариант “Один файл”.
Шаг 3. Выбор вида приложения
Теперь надо выбрать, консольное у вас будет приложение или оконное. Если вы выберете “Консольное приложение”, при запуске исполняемого файла будет открываться консоль. Этот вариант стоит выбрать, если ваш скрипт генерирует консольный вывод. А если вы не хотите показывать консоль при запуске исполняемого файла, выберите “Оконное приложение”.
Моему скрипту нужно ввести имя таблицы Excel в качестве входных данных для создания отчета Excel, поэтому я выберу “Консольное приложение”.
Шаг 4: Дополнительные параметры
Вы можете добавить значок, файлы, которые необходимы вашему скрипту для выполнения, и многое другое! Однако в данном примере я изменю только путь, по которому будет экспортирован исполняемый файл. Для этого нажмите на опцию “Настройки” и выберите нужный вам выходной каталог в поле “Папка вывода”.
Примечание: Если вы увидите ошибку, подобную “ModuleFoundNotError: Not module named ‘ name_of_module'” после двойного щелчка на созданном исполняемом файле, вам придется повторить все шаги еще раз, но теперь в поле “hidden-import” пункта “Расширенные” напишите, что имя модуля отсутствует.
Шаг 5: Конвертируем .py в .exe
Чтобы преобразовать скрипт Python в .exe файл, просто нажмите на синюю кнопку:
Обратите внимание на текущую команду, которую auto-py-to-exe
показывает над кнопкой конвертации. Эта команда нужна pyinstaller
– основной библиотеке, которая и создает исполняемый файл. Именно эта библиотека стоит за графическим интерфейсом, который вы видите на экране.
После завершения процесса исполняемый файл должен быть расположен в каталоге вывода, который вы задали в Шаге 4!
Как конвертировать скрипт Python в .exe с помощью PyInstaller
Этот вариант больше подходит для тех, кто предпочитает создавать исполняемый файл быстро, выполняя команду в терминале.
Если вы привыкли работать с терминалом, то библиотека PyInstaller будет лучшим вариантом. Преобразовать скрипт Python в .exe с помощью PyInstaller, выполните следующие шаги:
- Откройте терминал и запустите
pip install pyinstaller
- Используя терминал, перейдите в каталог, где находится ваш скрипт (используйте команду
cd
). - Перейдя в нужную директорию, введите в терминале команду
syntaxpyinstaller --onefile name_of_script.py
, чтобы сделать скриптname_of_script.py
исполняемым.
Команда, использованная в Шаге 3, похожа на “Текущую команду” над кнопкой конвертации в GUI auto-py-to-exe
. Вы можете немного поиграть с графическим интерфейсом, предлагаемым auto-py-to-exe
, чтобы познакомиться со множеством опций, которые можно добавить в эту команду.
После выполнения команды вы должны увидеть сообщение “Completed successfully” (“Завершено успешно”). В каталоге, где находится ваш скрипт, должна быть создана папка с именем “dist”. Внутри папки вы найдете автономный исполняемый файл!
Поздравляем! Теперь ваш Python-скрипт преобразован в исполняемый файл.
Перевод статьи The PyCoach «How to Easily Convert a Python Script to an Executable File (.exe)».