Упаковка Python программы в EXE файл
Чтобы понять, зачем это может потребоваться, предположим, что вы написали программу на Python. И теперь нужно ее показать руководителю, заказчику или другу. И здесь сразу могут возникнуть трудности. Потому что принимаемая сторона вряд ли обладает познаниями в программировании и к тому же не имеет на компьютере установленного Python, чтобы иметь возможность запустить ваш код.
Гораздо проще заранее позаботиться о простоте запуска Python программы, и упаковать ее в исполняемый EXE файл. Преимущество такого файла в том, что он запускается любым пользователем на любом компьютере под управлением Windows. Даже если на компьютере не установлен Python.
Для упаковки программы будем использовать пакет PyInstaller и надстройку над ним auto-py-to-exe
Ссылки на документацию по данным пакетам:
PyInstaller генерирует EXE файл из командной строки. А auto-py-to-exe надстраивает над PyInstaller пользовательский интерфейс, в котором удобно выбирать различные параметры.
Установка пакетов для упаковки в EXE файл
Для установки пакетов, мы будем использовать pip — систему управления пакетами, написанными на Python.
-
- В поиске Windows набираем cmd
- Запускаем приложение Командная строка от имени администратора(ВАЖНО!)

- Набираем команды для установок пакетов и нажимаем Enter:
• pip install pyinstaller
• pip install auto-py-to-exe
- Дополнительные пакеты установлены.
Упаковка Python программы в EXE файл
Давайте упакуем с помощью установленных пакетов готовую программу A/B Калькулятор.
Для начала, посмотрим как она запускается в неупакованном виде. Открываем файл программы в редакторе Geany и нажимаем Выполнить (F5). Программа выполняется на фоне командной строки. И когда мы окно программы закрываем, окно консоли еще остается открытым.
Перед генерацией EXE файла подготовим директорию, куда он будет сохраняться. Например, на Рабочем столе создаем папку Генерация EXE

- Запускаем командную строку от администратора
- Вводим команду auto-py-to-exe
- В окне приложения производим настройки:
- Указываем путь к директории с исходным файлом программы
- Выбираем опцию Один файл
- Выбираем опцию Оконное приложение (скрыть консоль)
- Нажимаем Настройки и указываем путь к директории экспорта, куда будет сохранен готовый EXE файл
- Жмем кнопку Конвертировать PY в EXE
Некоторое время программа производит обработку. После окончания обработки появляется кнопка Открыть папку вывода . Нажимаем ее и видим в папке готовый EXE файл.

Запускаем EXE файл и проверяем работоспособность. Программа AB Калькулятора запустилась без использования консоли. Теперь файл программы можно пересылать для запуска абсолютно на любом компьютере.
Примечание. Если в процессе запуска EXE файлов возникают проблемы, проверьте, установлен ли Microsoft Visual C++ Redistributable. Если требуется его установка, найти его можно по ссылке .
How to Install PyInstaller¶
PyInstaller is available as a regular Python package. The source archives for released versions are available from PyPi, but it is easier to install the latest version using pip:
pip install pyinstaller
To upgrade existing PyInstaller installation to the latest version, use:
pip install --upgrade pyinstaller
To install the current development version, use:
pip install https://github.com/pyinstaller/pyinstaller/tarball/develop
To install directly using pip’s built-in git checkout support, use:
pip install git+https://github.com/pyinstaller/pyinstaller
or to install specific branch (e.g., develop ):
pip install git+https://github.com/pyinstaller/pyinstaller@develop
Installing from the source archive¶
The source code archive for released versions of PyInstaller are available at PyPI and on PyInstaller Downloads page.
Even though the source archive provides the setup.py script, installation via python setup.py install has been deprecated and should not be used anymore. Instead, run pip install . from the unpacked source directory, as described below.
- Unpack the source archive.
- Move into the unpacked source directory.
- Run pip install . from the unpacked source directory. If installing into system-wide python installation, administrator privilege is required.
The same procedure applies to installing from manual git checkout:
git clone https://github.com/pyinstaller/pyinstaller cd pyinstaller pip install .
If you intend to make changes to the source code and want them to take effect immediately, without re-installing the package each time, you can install it in editable mode:
pip install -e .
For platforms other than Windows, GNU/Linux and macOS, you must first build the bootloader for your platform: see Building the Bootloader . After the bootloader has been built, use the pip install . command to complete the installation.
Verifying the installation¶
On all platforms, the command pyinstaller should now exist on the execution path. To verify this, enter the command:
pyinstaller --version
The result should resemble 4.n for a released version, and 4.n.dev0-xxxxxx for a development branch.
If the command is not found, make sure the execution path includes the proper directory:
- Windows: C:\PythonXY\Scripts where XY stands for the major and minor Python version number, for example C:\Python38\Scripts for Python 3.8)
- GNU/Linux: /usr/bin/
- macOS (using the default Apple-supplied Python) /usr/bin
- macOS (using Python installed by homebrew) /usr/local/bin
- macOS (using Python installed by macports) /opt/local/bin
To display the current path in Windows the command is echo %path% and in other systems, echo $PATH .
If you cannot use the pyinstaller command due to the scripts directory not being in PATH , you can instead invoke the PyInstaller module, by running python -m PyInstaller (pay attention to the module name, which is case sensitive). This form of invocation is also useful when you have PyInstaller installed in multiple python environments, and you cannot be sure from which installation the pyinstaller command will be ran.
Installed commands¶
The complete installation places these commands on the execution path:
- pyinstaller is the main command to build a bundled application. See Using PyInstaller .
- pyi-makespec is used to create a spec file. See Using Spec Files .
- pyi-archive_viewer is used to inspect a bundled application. See Inspecting Archives .
- pyi-bindepend is used to display dependencies of an executable. See Inspecting Executables .
- pyi-grab_version is used to extract a version resource from a Windows executable. See Capturing Windows Version Data .
- pyi-set_version can be used to apply previously-extracted version resource to an existing Windows executable.
© Copyright This document has been placed in the public domain.. Revision f563dce1 .
Python-сообщество
![]()
- Начало
- » Python для новичков
- » pyinstaller из pycharm , exe не срабатывает
#1 Окт. 11, 2019 10:50:12
dima_huigk Зарегистрирован: 2019-10-11 Сообщения: 2 Репутация: 0 Профиль Отправить e-mail
pyinstaller из pycharm , exe не срабатывает
windows 7 (64)
python 3.7
pycharm 2019.2
pyinstaller 3.5
pyinstaller закачал через внутренний интерфейс pycharm , добавил в внешние инструменты .
запускаю по правому клику в pycharm (без дополнительных флагов) , проходит сборка — выдаёт что всё ок . Папка dist созданна , там есть exe и прочее .
при запуске exe пишет следущее
как понимаю он не может найти библиотеки , но они в папке dist лежат , вроде как и должно быть..
по сути мне надо исполняемую программу запускающуюся на других машинах(win) без питона .

Прикреплённый файлы:
Безымянный.png (51,2 KБ)
#2 Окт. 11, 2019 11:40:12
FishHook От: Зарегистрирован: 2011-01-08 Сообщения: 8312 Репутация: 568 Профиль Отправить e-mail
pyinstaller из pycharm , exe не срабатывает
dima_huigk
по сути мне надо исполняемую программу запускающуюся на других машинах(win) без питона .
забудьте
нужен exe-шник, пишите на компилируемом языке.
нужна портируемая программа на питоне, таскайте вслед за программой портируемый питон.
Сборки всякими pyinstaller-ами и cx_freez-ами ничего кроме геморроя не дают. Поищите по этому форуму, сколько головняка доставляет людят странное желание натянуть сову на глобус. Это извращение и это крайне хреново работает.
#3 Окт. 11, 2019 13:16:47
dima_huigk Зарегистрирован: 2019-10-11 Сообщения: 2 Репутация: 0 Профиль Отправить e-mail
pyinstaller из pycharm , exe не срабатывает
вот , вы уже даёте информацию , что есть портируемый питон — ща почитаю что это такое …
благодарю
#4 Окт. 12, 2019 07:16:40
doza_and От: Зарегистрирован: 2010-08-15 Сообщения: 4138 Репутация: 252 Профиль Отправить e-mail
pyinstaller из pycharm , exe не срабатывает
dima_huigk
Ща почитаю что это такое
) ваша сова явно может пострадать от глобуса. Был проект портируемый питон но вроде сдох. Вообще портируемый питон это любой ваш питон записаный на флешку. Единственное что надо взять с собой так это наверное python*.dll которая валяется в windows/system32 вроде.
Но такое решение это тоже сова натянутая на апельсин. Используется если вы вообще не хотите оставлять следов на чужой машине. Решение Сильно зависит от целевых машин. На XP python 3.7 вообще трудно использовать.
Если вы “ставите” свою программу и у вас достаточно для этого прав то рекомендую написать bat файл из 3 действий:
1. install питона (можно сделать установку без подтверждений из командной строки см опции инсталлятора)
2. Необязательный шаг модификации окружения. Делается при помощи regedit для большей комфортности. Если вы не знаете что модифицировать на этом этапе то этот шаг вам не нужно.
3. Установка нужных пакетов питона, включая ваш. делается командой pip с указанием requirements.txt. Если нужна установка без интернета то можно предварительно выкачать все зависимости при помощи pip freeze и вести установку из вашей папки.
p.s.
virtualenv под виндой странное удовольствие
Не могу установить pyinstaller в pycharm
оказалось нужно скачать wheel и после этого pyinstaller, сколько не смотрел обзоров не находил. И то, получилось не с первого раза, сначала нужно удалить pyinstaller, и если скачали wheel то и его тоже, потом скачать wheel а потом и pyinstaller. Покрайней мере мне это помогло, один минус, если всетаки кинуть друзьям exe-шник ругаеться на вирусы, и если кинуть в VirusTotal получаю 10 компаний которые находят вирус
Отслеживать
ответ дан 13 мар 2022 в 17:01
Мне не помогло. Переустанавливал, пробовал способ выше. Результат ноль.
15 фев 2023 в 6:18
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.