Полное руководство по упаковке Python-скриптов в EXE

Выбор инструмента

Инструмент Плюсы Минусы Когда использовать
PyInstaller Простота, поддержка всех ОС, автоопределение зависимостей Большой размер итогового файла Для большинства проектов (рекомендуется для начала)
cx_Freeze Гибкость, поддержка всех ОС Требует файла setup.py Для сложных проектов с особыми требованиями
Nuitka Компиляция в C, высокая производительность Требует компилятора C, сложная настройка Для коммерческих проектов, где важна скорость

Пошаговая инструкция с PyInstaller

Установите PyInstaller:
pip install pyinstaller
Перейдите в папку с вашим скриптом:
cd путь_к_папке_со_скриптом
Соберите EXE (базовый вариант):
pyinstaller --onefile ваш_скрипт.py
Совет: Если ваш скрипт использует графический интерфейс (Tkinter, PyQt и т.д.), добавьте флаг --noconsole, чтобы убрать консольное окно:
pyinstaller --onefile --noconsole ваш_скрипт.py
Найдите готовый EXE-файл:

После завершения сборки перейдите в папку dist/ — там будет ваш ваш_скрипт.exe.

Дополнительные возможности

Добавление иконки

Подготовьте файл иконки в формате .ico (можно сконвертировать PNG в ICO через онлайн-конвертеры):

pyinstaller --onefile --icon=ваша_иконка.ico ваш_скрипт.py

Переименование выходного файла

pyinstaller --onefile --name "НазваниеПрограммы" ваш_скрипт.py

Включение дополнительных файлов

Если ваш скрипт использует внешние файлы (картинки, базы данных и т.д.):

pyinstaller --onefile --add-data "файл.txt;." ваш_скрипт.py

В коде обращайтесь к файлам через os.path.join(os.path.dirname(sys.argv[0]), "файл.txt")

Решение распространённых проблем

Антивирус блокирует EXE

Это ложное срабатывание. Решения:

EXE не запускается на другом компьютере

Возможные причины:

Как уменьшить размер EXE

Тестовый пример

Создайте файл test.py:
print("Hello World!")
input("Нажмите Enter...")
Соберите его в EXE:
pyinstaller --onefile test.py
Проверьте результат:

Запустите dist/test.exe — должно появиться окно консоли с текстом.

Поздравляем! Вы создали свою первую Python-программу в формате EXE.

Полезные ссылки