Самый простой способ скомпилировать python файл в exe
Я перепробовал множество способов компиляции Python-скриптов в EXE-файлы:
- cx_Freeze;
- auto-py-to-exe;
- nuitka;
- py2exe;
- различные GUI-обертки.
Но практически везде возникали проблемы:
- скрипт не собирался;
- сыпались ошибки;
- не подтягивались библиотеки;
- EXE запускался с ошибками;
- антивирусы ругались на файл.
В итоге мне помог самый простой способ — использование PyInstaller.
Ниже покажу, как собрать Python-скрипт в EXE буквально в несколько шагов.
Установка PyInstaller
Для начала устанавливаем пакет:
pip install pyinstaller
После установки станет доступна команда:
pyinstaller
Переход в папку со скриптом
Открываем консоль или терминал и переходим в папку со скриптом:
cd c:\Свой_путь_до_скрипта
Компиляция Python в EXE
Запускаем сборку:
pyinstaller --onefile main.py
Где:
--onefile— собрать все в один EXE-файл;main.py— имя вашего Python-скрипта.
Если ваш файл называется иначе — подставьте свое имя скрипта.
Где находится EXE-файл
После успешной сборки рядом со скриптом появятся папки:
build;dist.
Готовый EXE-файл будет находиться в папке:
dist
Преимущества PyInstaller
- простая установка;
- минимум настроек;
- поддержка сторонних библиотек;
- работает с requests, selenium, bs4 и другими пакетами;
- можно собрать EXE в один файл;
- подходит для Windows.
Полезные параметры PyInstaller
Сборка без консоли
Для GUI-приложений можно скрыть консоль:
pyinstaller --onefile --noconsole main.py
Добавление иконки
Добавляем иконку EXE:
pyinstaller --onefile --icon=icon.ico main.py
Очистка старой сборки
pyinstaller --clean --onefile main.py
Какие библиотеки поддерживаются
PyInstaller нормально работает со многими популярными библиотеками:
- requests;
- BeautifulSoup;
- selenium;
- openpyxl;
- telebot;
- tkinter;
- PyQt;
- sqlite3.
Итог
PyInstaller — один из самых простых и стабильных способов собрать Python-скрипт в EXE-файл под Windows.
Особенно удобно использовать его для:
- парсеров;
- Telegram-ботов;
- автоматизации;
- GUI-приложений;
- внутренних утилит;
- скриптов для клиентов.
Комментарии