🧠 Полный гайд: Как превратить Python-программу в .EXE

Первый метод

📌 ЗАДАЧА:

Сделать так, чтобы программу emailli_saatmine.py можно было запускать как .exe на любом Windows-компьютере, без установленного Python.


✅ Шаг 1. Установка Python (если ещё не установлен)

  1. Перейди на сайт: https://www.python.org/downloads/
  2. Скачай последнюю версию (например, Python 3.12.x)
  3. ⚠ При установке обязательно поставь галочку Add Python to PATH
  4. Установи Python

✅ Шаг 2. Установка PyInstaller

Открой командную строку (Win + R → cmd) и введи:

pip install pyinstaller

Если пишет pip не является внутренней командой — значит Python не добавлен в PATH. Нужно переустановить с галочкой Add to PATH.


✅ Шаг 3. Подготовь структуру папки проекта

Создай папку email_project, положи туда:

email_project/
├── emailli_saatmine.py          ← твой основной Python-файл
├── settings.json                ← настройки (если есть)
├── photo.jpg                    ← вложения
├── photo2.jpg
├── email_saatmine.ico          ← иконка для exe (можно пропустить)
└── build_email_gui.bat         ← файл для сборки (создадим ниже)

✅ Шаг 4. Создание сборочного файла .bat

Создай новый текстовый файл и вставь этот код. Сохрани как build_email_gui.bat в ту же папку:

@echo off
setlocal enabledelayedexpansion

echo ========================================
echo 🔍 Проверка наличия Python...
python --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Python не найден на вашем компьютере.
    echo Установи Python: https://www.python.org/downloads/
    pause
    exit /b
) else (
    echo ✅ Python установлен.
)

echo ========================================
echo 🔍 Проверка PyInstaller...
pyinstaller --version >nul 2>&1
if errorlevel 1 (
    echo ⚙ Устанавливаю PyInstaller...
    pip install pyinstaller
    if errorlevel 1 (
        echo ❌ Не удалось установить PyInstaller. Прерываю.
        pause
        exit /b
    )
) else (
    echo ✅ PyInstaller установлен.
)

echo ========================================
echo 🧹 Удаление предыдущей сборки...
rmdir /s /q build
rmdir /s /q dist
del /q emailli_saatmine.spec

echo ========================================
echo 🛠 Сборка .exe из emailli_saatmine.py ...
pyinstaller --onefile --noconsole --icon=email_saatmine.ico emailli_saatmine.py

echo ========================================
echo 📂 Копирование нужных файлов...
copy settings.json dist\
copy photo.jpg dist\
copy photo2.jpg dist\

echo ========================================
echo ✅ Готово! Твоя программа собрана!
echo 📁 Файл находится в папке: /dist
start dist
pause

✅ Шаг 5. Сборка .exe

Теперь всё готово! Просто:

  1. Перейди в папку email_project
  2. Дважды кликни на build_email_gui.bat
  3. Программа создаст .exe в папке dist

✅ Шаг 6. Готово! Что в папке dist:


├── emailli_saatmine.exe ✅ ← запускаемый файл
├── settings.json
├── photo.jpg
└── photo2.jpg

🧠 FAQ и подсказки

ПроблемаЧто делать
Python не найденУстанови с python.org, не забудь «Add to PATH»
pip не работаетЗапусти Python установщик и выбери «Modify» → «Add pip»
.exe не запускаетсяУдали --icon и попробуй снова. Либо убери --noconsole, чтобы увидеть ошибки
Хочешь консоль?Удали параметр --noconsole

🎁 Бонус: Упаковать в .zip

Можешь заархивировать содержимое dist/ и передать другу. Он сможет просто запустить .exe, ничего не устанавливая!


🔚 ИТОГ

Ты теперь умеешь:

  • Проверять Python и PyInstaller
  • Упаковывать .py в .exe
  • Делать удобный .bat для автоматической сборки

Второй метод:

Сборка .exe через Командную строку

✅ Шаг 1. Убедись, что установлен Python

Открой терминал (Win + R → cmd) и введи:

python --version

Шаг 2. Установка PyInstaller (один раз)

✅ Шаг 2. Установка PyInstaller (один раз)

pip install pyinstaller

Если всё прошло успешно — можно переходить к следующему шагу.

✅ Шаг 3. Перейди в папку с твоим проектом

Введи команду в cmd, чтобы перейти в нужную папку. Например:

cd C:\Users\User\Desktop\email_project

Проверь, что внутри этой папки лежат:

  • emailli_saatmine.py
  • settings.json
  • photo.jpg, photo2.jpg
  • (опционально) email_saatmine.ico

✅ Шаг 4. Выполни сборку

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

pyinstaller --onefile --noconsole --icon=email_saatmine.ico emailli_saatmine.py

Если иконка не нужна:

pyinstaller --onefile --noconsole emailli_saatmine.py

Если хочешь видеть консоль при запуске .exe (например, для отладки):

pyinstaller --onefile emailli_saatmine.py

✅ Шаг 5. Готово! Где найти .exe?

После успешной сборки появятся новые папки:

  • build/ — временные файлы
  • dist/ — в ней будет emailli_saatmine.exe

Также появится файл emailli_saatmine.spec (его можно не трогать).

✅ Шаг 6. Скопируй нужные файлы в dist/

Твой .exe работает с файлами settings.json, photo.jpg и photo2.jpg, поэтому:

  1. Скопируй эти файлы в папку dist/, рядом с .exe
  2. Только после этого запускай программу

✅ Пример финальной структуры:

email_project/
├── emailli_saatmine.py
├── settings.json
├── photo.jpg
├── photo2.jpg
├── email_saatmine.ico
├── emailli_saatmine.spec
├── build/
└── dist/
    ├── emailli_saatmine.exe ✅
    ├── settings.json
    ├── photo.jpg
    └── photo2.jpg

🧠 Советы

СитуацияРешение
Программа не запускаетсяУбери --icon или --noconsole, чтобы увидеть ошибку
Хочешь чистую сборкуПеред каждой сборкой удаляй папки build/, dist/ и .spec
Хочешь другой значокПодготовь .ico (например, через этот генератор)