Олег Марков
Создание исполняемого файла Python в exe
Введение
Python-скрипты обычно запускаются в среде интерпретатора, но иногда требуется создать самостоятельный исполняемый файл, который можно запускать на Windows без установки Python. Это актуально при распространении приложений среди пользователей, которые не знакомы с Python. В этой статье мы разберём, как создать исполняемый файл .exe из Python-скрипта и управлять зависимостями. В этой статье мы разберём этот процесс на практике.
Использование PyInstaller
Самый популярный инструмент для создания .exe — PyInstaller. Он анализирует скрипт, находит зависимости и упаковывает их вместе с интерпретатором.
Установка PyInstaller:
pip install pyinstallerСоздание простого exe:
pyinstaller --onefile script.py--onefileупаковывает всё в один файл.- Файл
.exeбудет создан в папкеdist/.
Настройка параметров PyInstaller
Можно указать иконку, скрыть консоль и настроить другие параметры:
pyinstaller --onefile --windowed --icon=app.ico script.py--windowed— убирает консоль для GUI приложений.--icon— задаёт иконку для файла.
Использование PyInstaller позволяет создавать переносимые приложения без необходимости установки Python на целевой машине.
Если вы хотите детальнее погрузиться в практическую упаковку Python-приложений и работу с зависимостями — приходите на наш курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для практики 24/7, решение задач с живым ревью наставника и еженедельные встречи помогут закрепить навыки работы с Python и его пакетами.
Работа с зависимостями
PyInstaller упаковывает большинство стандартных зависимостей, но иногда требуется указать дополнительные:
pyinstaller --onefile --add-data "config.json;." script.py--add-dataпозволяет добавить файлы, которые скрипт использует во время работы (например, конфигурации, базы данных).
В Python важно корректно указывать пути к файлам в exe, так как рабочая директория может отличаться от директории скрипта. Для этого удобно использовать модуль os:
import os
import sys
def resource_path(relative_path):
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
config_file = resource_path("config.json")Частые ошибки
- Пропущенные зависимости — exe может не запускаться.
- Ошибки с относительными путями к файлам.
- Размер exe слишком большой при включении всех зависимостей.
- Использование модулей, несовместимых с PyInstaller.
Частозадаваемые вопросы
Можно ли создать exe для Linux или Mac? Нет, PyInstaller создаёт exe только для текущей ОС. Для Linux/Mac нужны отдельные сборки.
Как уменьшить размер exe?
Используйте --onefile и исключайте ненужные библиотеки через --exclude-module.
Можно ли создать GUI-приложение?
Да, с флагом --windowed и библиотеками, например, Tkinter или PyQt.
Заключение
Создание исполняемого файла из Python позволяет распространять приложения на Windows без необходимости установки интерпретатора. PyInstaller — основной инструмент для этой задачи, с возможностью упаковывать зависимости, файлы и настраивать параметры сборки.
Для системного изучения работы с Python, упаковки приложений и управления зависимостями рекомендуем курс Основы Python. В первых 3 модулях доступно бесплатное содержание, что позволит закрепить навыки упаковки скриптов и подготовки exe перед изучением полного курса.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев