ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.2 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://thecode.media/pyinstaller/ |
| Last Crawled | 2026-03-31 01:01:41 (6 days ago) |
| First Indexed | 2023-04-24 19:09:11 (2 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Python-скрипт: как сделать исполняемый файл |
| Meta Description | Пошаговое руководство, как сделать из Python-скрипта исполняемый файл. Сначала ставим pyInstaller, потом переходим в папку со скриптом — подробнее смотрите в статье. |
| Meta Canonical | null |
| Boilerpipe Text | Обычно для запуска Python-скрипта нужно установить Python, потом все библиотеки, потом проверить зависимости и только потом можно запускать. Сегодня научимся собирать всё это в один файл — его можно будет запустить на любом компьютере, даже если там нет Python.
🤔 Что делаем
: превращаем Python-скрипт в исполняемый файл, который можно потом будет запустить на любом компьютере.
🕔 Время
: 5 минут.
✅ Понадобится
: библиотека pyInstaller.
👉 Коротко суть
. С помощью библиотеки pyInstaller можно собрать все файлы, модули и зависимости в одном месте, привязать к ним интерпретатор Python, а потом обернуть это в один файл. Это значит, что мы получаем как бы виртуальный контейнер, в котором уже есть всё, что нужно для запуска скрипта, — без установки на свой компьютер.
Как установить Python на компьютер и начать на нём писать
Ставим pyInstaller
В командной строке или в терминале VS Code пишем команду. Командную строку после этого не закрываем — она нам ещё пригодится:
pip install pyinstaller
Переходим в папку со скриптом
Чтобы было проще собирать
скрипт
в один файл, нам нужно перейти в ту папку, где лежит наш исходный скрипт. Для этого в той же командной строке используем команду cd, после которой пишем полный путь к папке. Например, если скрипт лежит в папке Downloads, то команда будет выглядеть так:
cd /Users/mihailpolanin/Downloads
Если всё прошло штатно, мы увидим название папки в конце приветствия командной строки:
Как работает скрипт, собранный в один файл
Есть два варианта работы библиотеки: собрать всё в одну папку или упаковать всё в один файл. Но на самом деле это всё примерно одно и то же, потому что итоговый файл работает так:
Создаёт виртуальную папку.
Распаковывает из себя все библиотеки, служебные файлы и исполняемый файл Python.
На основе этого создаёт виртуальную среду и подключает все нужные библиотеки.
Запускает Python и уже в нём выполняет наш скрипт.
Получается, что на самом деле мы просто создаём оболочку для скрипта, а внутри всё работает точно так же, как если бы мы запускали этот скрипт по старинке.
Вам может быть интересно:
Превращаем скрипт в исполняемый файл
Единственный параметр, который нам нужно указать при запуске — то, что результат нужен в виде единого файла. Для этого используется параметр
--onefile
— если его не будет, то библиотека сделает нам одну папку вместо одного файла.
Проверим работу упаковщика на примере скрипта
из статьи про графический интерфейс в Python
. Для этого нужно написать pyinstaller и через пробел — имя скрипта. Если скрипт называется gui.py, то команда будет выглядеть так:
pyinstaller --onefile gui.py
После запуска в папке со скриптом появятся две новых папки — build и dist. Первая нам не нужна, поэтому заходим в dist — там и лежит наш готовый файл. Если это делать в Windows, там будет лежать файл для Windows. Если делать на Mac OS, получится приложение для Mac OS.
Размер файла — 25 мегабайт, а всё потому, что кроме скрипта внутри находятся все используемые библиотеки
Проверяем работу
Запускаем файл — просто дважды щёлкаем на нём мышкой и смотрим, что произойдёт.
После запуска открывается терминал, где видны служебные сообщения от программы графического интерфейса. Через несколько секунд (когда подключатся все библиотеки) мы видим новое окошко с графическим интерфейсом — значит, мы всё сделали правильно и этот файл можно запускать независимо от того, есть Python на компьютере или нет.
Если почитать документацию, можно тонко настроить работу сборщика — например, чтобы не было консоли.
Корректор:
Ира Михеева
Художник:
Алексей Сухов
Вёрстка:
Кирилл Климентьев |
| Markdown | 

[](https://thecode.media/) [журнал Яндекс Практикума](https://practicum.yandex.ru/?utm_source=pr&utm_medium=media&utm_campaign=pr_media_main_kod&utm_content=header)
- [Это как](https://thecode.media/howto/)
- [Это баг](https://thecode.media/debug/)
- [Как решить](https://thecode.media/zadacha/)
- [Не стыдно](https://thecode.media/questions/)
- [Что как](https://thecode.media/news/)
- [Ахах](https://thecode.media/lol/)
- [Подкасты](https://thecode.media/podcasts/)
- [ИИшница](https://thecode.media/neyroseti/)
- [Золотой фонд](https://thecode.media/tag/gold/)
- [Фронт](https://thecode.media/tag/frnt/)
- [Бэк](https://thecode.media/tag/bck/)
- [Матеша](https://thecode.media/tag/mth/)
- [Железо](https://thecode.media/tag/hrdwr/)
- [Жизнь](https://thecode.media/tag/life/)

[](https://thecode.media/profile/)


# Как сделать из Python-скрипта исполняемый файл
Работает везде, собирается быстро

[ Михаил Полянинавтор Код](https://thecode.media/authors/mihail-polyanin/)
Обновлено 16.10.2024
[easy](https://thecode.media/easy/)
[Это баг](https://thecode.media/debug/)
[Жизнь](https://thecode.media/tag/life/)
Обычно для запуска Python-скрипта нужно установить Python, потом все библиотеки, потом проверить зависимости и только потом можно запускать. Сегодня научимся собирать всё это в один файл — его можно будет запустить на любом компьютере, даже если там нет Python.
**🤔 Что делаем**: превращаем Python-скрипт в исполняемый файл, который можно потом будет запустить на любом компьютере.
**🕔 Время**: 5 минут.
**✅ Понадобится**: библиотека pyInstaller.
**👉 Коротко суть**. С помощью библиотеки pyInstaller можно собрать все файлы, модули и зависимости в одном месте, привязать к ним интерпретатор Python, а потом обернуть это в один файл. Это значит, что мы получаем как бы виртуальный контейнер, в котором уже есть всё, что нужно для запуска скрипта, — без установки на свой компьютер.
[Как установить Python на компьютер и начать на нём писать](https://thecode.media/py-install/)
## Ставим pyInstaller
В командной строке или в терминале VS Code пишем команду. Командную строку после этого не закрываем — она нам ещё пригодится:
`pip install pyinstaller`

[Нравится Python? Стань бэкендером! Бесплатный старт](https://practicum.yandex.ru/backend-developer/?utm_source=content&utm_medium=brandmedia&utm_campaign=kod_brandmedia_RF_Prog_backDe_b2c_Other_None_pyinstaller&utm_content=04-02-2026&utm_term=pyinstaller&creative=banner1_python)
## Переходим в папку со скриптом
Чтобы было проще собирать [скрипт](https://thecode.media/main-python/) в один файл, нам нужно перейти в ту папку, где лежит наш исходный скрипт. Для этого в той же командной строке используем команду cd, после которой пишем полный путь к папке. Например, если скрипт лежит в папке Downloads, то команда будет выглядеть так:
`cd /Users/mihailpolanin/Downloads`
Если всё прошло штатно, мы увидим название папки в конце приветствия командной строки:

## Как работает скрипт, собранный в один файл
Есть два варианта работы библиотеки: собрать всё в одну папку или упаковать всё в один файл. Но на самом деле это всё примерно одно и то же, потому что итоговый файл работает так:
1. Создаёт виртуальную папку.
2. Распаковывает из себя все библиотеки, служебные файлы и исполняемый файл Python.
3. На основе этого создаёт виртуальную среду и подключает все нужные библиотеки.
4. Запускает Python и уже в нём выполняет наш скрипт.
Получается, что на самом деле мы просто создаём оболочку для скрипта, а внутри всё работает точно так же, как если бы мы запускали этот скрипт по старинке.
Вам может быть интересно:
[Создаём графический интерфейс на Python за 10 минут](https://thecode.media/py-gui/)
## Превращаем скрипт в исполняемый файл
Единственный параметр, который нам нужно указать при запуске — то, что результат нужен в виде единого файла. Для этого используется параметр `--onefile` — если его не будет, то библиотека сделает нам одну папку вместо одного файла.
Проверим работу упаковщика на примере скрипта [из статьи про графический интерфейс в Python](https://thecode.media/py-gui/). Для этого нужно написать pyinstaller и через пробел — имя скрипта. Если скрипт называется gui.py, то команда будет выглядеть так:
`pyinstaller --onefile gui.py`
После запуска в папке со скриптом появятся две новых папки — build и dist. Первая нам не нужна, поэтому заходим в dist — там и лежит наш готовый файл. Если это делать в Windows, там будет лежать файл для Windows. Если делать на Mac OS, получится приложение для Mac OS.

Размер файла — 25 мегабайт, а всё потому, что кроме скрипта внутри находятся все используемые библиотеки
[ Обучение в Яндекс Практикуме Прокачайтесь в Python-разработке до мидла](https://practicum.yandex.ru/middle-python/?utm_source=content&utm_medium=brandmedia&utm_campaign=kod_brandmedia_RF_Prog_middPy_b2c_Other_None_pyinstaller&utm_content=04-02-2026&utm_term=pyinstaller&creative=banner3_upskill_back)
## Проверяем работу
Запускаем файл — просто дважды щёлкаем на нём мышкой и смотрим, что произойдёт.
После запуска открывается терминал, где видны служебные сообщения от программы графического интерфейса. Через несколько секунд (когда подключатся все библиотеки) мы видим новое окошко с графическим интерфейсом — значит, мы всё сделали правильно и этот файл можно запускать независимо от того, есть Python на компьютере или нет.
Если почитать документацию, можно тонко настроить работу сборщика — например, чтобы не было консоли.

[Любишь Python? Зарабатывай на нём! Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно. Попробовать бесплатно    ](https://practicum.yandex.ru/backend-developer/?utm_source=content&utm_medium=brandmedia&utm_campaign=kod_brandmedia_RF_Prog_backDe_b2c_Other_None_pyinstaller&utm_content=04-02-2026&utm_term=pyinstaller&creative=bannerBIG_python)
Текст:
[Михаил Полянин](https://thecode.media/authors/mihail-polyanin/)
Редактор:
[Максим Ильяхов](https://thecode.media/authors/maksim-ilyahov/)
Корректор:
Ира Михеева
Художник:
Алексей Сухов
Вёрстка:
Кирилл Климентьев
[ВКонтакте](https://vk.com/share.php?url=https://thecode.media/pyinstaller/) [Telegram](https://telegram.me/share/url?url=https://thecode.media/pyinstaller/)

Вам может быть интересно
[](https://thecode.media/web-presentation/)
[Веб-проект: делаем автотекст на странице для презентаций В помощь всем, кто выступает по работе и для себя](https://thecode.media/web-presentation/)
[easy](https://thecode.media/easy/)
[Это баг](https://thecode.media/debug/)
[](https://thecode.media/nlp/)
[Анализируем самые частые слова в любом тексте Льву Толстому приготовиться](https://thecode.media/nlp/)
[medium](https://thecode.media/medium/)
[Это баг](https://thecode.media/debug/)
[](https://thecode.media/ping-pong/)
[Пинг-понг на JavaScript Да, вдвоём тоже можно.](https://thecode.media/ping-pong/)
[easy](https://thecode.media/easy/)
[Это баг](https://thecode.media/debug/)
[](https://thecode.media/display-none/)
[Как убрать что угодно на любом сайте Самый популярный приём разработчиков.](https://thecode.media/display-none/)
[easy](https://thecode.media/easy/)
[Это баг](https://thecode.media/debug/)
[](https://thecode.media/new-1line-css/)
[Ещё больше полезных CSS-команд Короткие и мощные.](https://thecode.media/new-1line-css/)
[hard](https://thecode.media/hard/)
[Это баг](https://thecode.media/debug/)
[](https://thecode.media/pygames/)
[Как сделать игру на Python бесплатно Без донатов\!](https://thecode.media/pygames/)
[medium](https://thecode.media/medium/)
[Это баг](https://thecode.media/debug/)
[easy](https://thecode.media/easy/)
[Это баг](https://thecode.media/debug/)
[Жизнь](https://thecode.media/tag/life/)
[](https://thecode.media/) [журнал Яндекс Практикума](https://practicum.yandex.ru/?utm_source=pr&utm_medium=media&utm_campaign=pr_media_main_kod&utm_content=footer)
18+
Копирование материалов
запрещено.
- [О проекте](https://thecode.media/about/)
- [Политика использования информации](https://thecode.media/regulation/)
- [ВКонтакте](https://vk.com/thecode.media)
- [Телеграм](https://t.me/thecodemedia)
- [Дзен](https://zen.yandex.ru/code)
- [RSS](https://thecode.media/feed/)

Учитесь в приложении
Яндекс Практикума
Наведите камеру на куар-код
- [Загрузить в App Store](https://redirect.appmetrica.yandex.com/serve/389378364999228547)
- [Загрузить в Google Play](https://redirect.appmetrica.yandex.com/serve/461435958483545702)
- [Загрузить в AppGallery](https://redirect.appmetrica.yandex.com/serve/101147989300527788)
- [Это как](https://thecode.media/howto/)
- [Это баг](https://thecode.media/debug/)
- [Как решить](https://thecode.media/zadacha/)
- [Не стыдно](https://thecode.media/questions/)
- [Что как](https://thecode.media/news/)
- [Ахах](https://thecode.media/lol/)
- [Подкасты](https://thecode.media/podcasts/)
- [ИИшница](https://thecode.media/neyroseti/)
- [Золотой фонд](https://thecode.media/tag/gold/)
- [Фронт](https://thecode.media/tag/frnt/)
- [Бэк](https://thecode.media/tag/bck/)
- [Матеша](https://thecode.media/tag/mth/)
- [Железо](https://thecode.media/tag/hrdwr/)
- [Жизнь](https://thecode.media/tag/life/)
[easy](https://thecode.media/easy/) [medium](https://thecode.media/medium/) [hard](https://thecode.media/hard/)
«Код» — журнал «Яндекс Практикума» о технологиях и программировании.
[](https://vk.com/thecode.media) [](https://t.me/thecodemedia) [](https://zen.yandex.ru/code) [](https://thecode.media/feed/)
Войдите, чтобы следить за любимыми темами
авторизация
через Яндекс.ID
Connect with:
[Yandex]("Connect with Yandex")

Реклама. ООО "ЯНДЕКС",
ИHH 7736207543 |
| Readable Markdown | Обычно для запуска Python-скрипта нужно установить Python, потом все библиотеки, потом проверить зависимости и только потом можно запускать. Сегодня научимся собирать всё это в один файл — его можно будет запустить на любом компьютере, даже если там нет Python.
**🤔 Что делаем**: превращаем Python-скрипт в исполняемый файл, который можно потом будет запустить на любом компьютере.
**🕔 Время**: 5 минут.
**✅ Понадобится**: библиотека pyInstaller.
**👉 Коротко суть**. С помощью библиотеки pyInstaller можно собрать все файлы, модули и зависимости в одном месте, привязать к ним интерпретатор Python, а потом обернуть это в один файл. Это значит, что мы получаем как бы виртуальный контейнер, в котором уже есть всё, что нужно для запуска скрипта, — без установки на свой компьютер.
[Как установить Python на компьютер и начать на нём писать](https://thecode.media/py-install/)
## Ставим pyInstaller
В командной строке или в терминале VS Code пишем команду. Командную строку после этого не закрываем — она нам ещё пригодится:
`pip install pyinstaller`

## Переходим в папку со скриптом
Чтобы было проще собирать [скрипт](https://thecode.media/main-python/) в один файл, нам нужно перейти в ту папку, где лежит наш исходный скрипт. Для этого в той же командной строке используем команду cd, после которой пишем полный путь к папке. Например, если скрипт лежит в папке Downloads, то команда будет выглядеть так:
`cd /Users/mihailpolanin/Downloads`
Если всё прошло штатно, мы увидим название папки в конце приветствия командной строки:

## Как работает скрипт, собранный в один файл
Есть два варианта работы библиотеки: собрать всё в одну папку или упаковать всё в один файл. Но на самом деле это всё примерно одно и то же, потому что итоговый файл работает так:
1. Создаёт виртуальную папку.
2. Распаковывает из себя все библиотеки, служебные файлы и исполняемый файл Python.
3. На основе этого создаёт виртуальную среду и подключает все нужные библиотеки.
4. Запускает Python и уже в нём выполняет наш скрипт.
Получается, что на самом деле мы просто создаём оболочку для скрипта, а внутри всё работает точно так же, как если бы мы запускали этот скрипт по старинке.
Вам может быть интересно:
## Превращаем скрипт в исполняемый файл
Единственный параметр, который нам нужно указать при запуске — то, что результат нужен в виде единого файла. Для этого используется параметр `--onefile` — если его не будет, то библиотека сделает нам одну папку вместо одного файла.
Проверим работу упаковщика на примере скрипта [из статьи про графический интерфейс в Python](https://thecode.media/py-gui/). Для этого нужно написать pyinstaller и через пробел — имя скрипта. Если скрипт называется gui.py, то команда будет выглядеть так:
`pyinstaller --onefile gui.py`
После запуска в папке со скриптом появятся две новых папки — build и dist. Первая нам не нужна, поэтому заходим в dist — там и лежит наш готовый файл. Если это делать в Windows, там будет лежать файл для Windows. Если делать на Mac OS, получится приложение для Mac OS.

Размер файла — 25 мегабайт, а всё потому, что кроме скрипта внутри находятся все используемые библиотеки
## Проверяем работу
Запускаем файл — просто дважды щёлкаем на нём мышкой и смотрим, что произойдёт.
После запуска открывается терминал, где видны служебные сообщения от программы графического интерфейса. Через несколько секунд (когда подключатся все библиотеки) мы видим новое окошко с графическим интерфейсом — значит, мы всё сделали правильно и этот файл можно запускать независимо от того, есть Python на компьютере или нет.
Если почитать документацию, можно тонко настроить работу сборщика — например, чтобы не было консоли.

Корректор:
Ира Михеева
Художник:
Алексей Сухов
Вёрстка:
Кирилл Климентьев |
| Shard | 2 (laksa) |
| Root Hash | 17254374299193866802 |
| Unparsed URL | media,thecode!/pyinstaller/ s443 |