NTA

Компилируем код Python в файл exe

Код, написанный на Python, позволяет решать много прикладных задач: автоматизация отчетности, алгоритмы поиска, анализа и пр. Однако не у всех потенциальных пользователей может быть установлен сам Python и тем более не все являются экспертами в программировании. Выручить может программа, которая будет отрабатывать написанный вами код без установки библиотек Python и необходимой оболочки. Одним из таких решений может быть компиляция кода Python а файл exe. Дальше простым языком мы постараемся объяснить, как его скомпилировать и какие есть нюансы.

Для начала Вам необходимо скачать компилятор pyinstaller, для чего вам понадобится команда:

pip install pyinstaller

Далее ваш код в формате. py необходимо разместить в системную папку Scripts.

Путь к этой папке обычно выглядит так:

Если Вы инсталлировали Python в другое место, соответственно ищите папку там.

Далее приступаем собственно к компиляции, для чего: выделяем путь к папке Scripts в окне браузера, вместо него набираем команду cmd и жмем Enter.

У Вас сразу будет указан верный путь к файлу:

В продолжение строки с директорией файла необходимо набрать команду: pyinstaller Report.py —onefile

Где Report.py – это имя вашего файла, — onefile – означает, что программа будет скомпилирована в единый файл.

Нажимаем Enter. Pyinstaller приступает к сборке программы.

В зависимости от размера кода и количества, используемых в нем библиотек, время сборки программы может занять 5-15 мин. Успешностью завершения будет являться следующее сообщение:

Готовый файл находим в папке dist.

Данный метод компиляции не оптимизирует включение только необходимых библиотек, поэтому нужно быть готовым к тому, что его размер будет занимать достаточно объема. В нашем случае код из 120 строк с библиотекой Pandas и Datetime собран в программу весом почти 220 Mb. Теперь данным файлом может пользоваться любой сотрудник.

Хотелось бы обратить внимание на следующие нюансы: если вы компилируете файл на 64 битной OS Windows 10, то он не запустится на 32 битной OS Windows 7.

Если же файл будет скомпилирован на 32 битной OS Windows 7, то его можно будет запустить как на 32 битных, так и на 64 битных OS Windows 7/10.

{ "author_name": "NTA", "author_type": "editor", "tags": [], "comments": 21, "likes": 2, "favorites": 13, "is_advertisement": false, "subsite_label": "newtechaudit", "id": 122327, "is_wide": true, "is_ugc": false, "date": "Thu, 23 Apr 2020 09:04:22 +0300", "is_special": false }
0
21 комментарий
Популярные
По порядку
Написать комментарий...
1

Странно такое тут видеть, но сохранил, задача может стать актуальной

Ответить
1

Юрий, спасибо! С радостью будем делиться полезными лайфхаками и дальше:)

Ответить
0

Уж сколько раз твердили миру.... А воз и ныне там. Не компилируется Python в exe. Начините, наконец, думать и учить матчасть.

Ответить
0

А если руки чешутся?

Ответить
0

Программисты ( которые дружат с головой) и знают, что pyinstaller это самораспаковывающийся в TEMP архив (на распаковку которого тратится время) создают автономные приложения  для распространения на основе Emdedded Python, который есть на офф. сайте.

Ответить
0

Тогда нужно осознать, что интерпретируемый язык нельзя скомпилировать каким-то образом, кроме как через жопу.

Ответить
0

Откомпилируйте кто-нибудь unoconv
Это универсальный конвертор офисных документов через командную строку

Ответить
0

pyinstaller: error: unrecognized arguments: -onefile 
что делать?

Ответить
0

SyntaxError: invalid syntax что делать

Ответить
0

дядь, это значит что чето ты не так написал. ищи ошибку

Ответить
0

Просто автор не догадался текст статьи нормально отформатировать :)

Ответить
0

У меня python 3.9.1 и что мне делать?  не хочу устанавливать python 3.5 так как его уже удалили а поддержка python 3.5.11 и тд. прекратятся к слейдушему году или через несколько месяцев ((((

Ответить
0

IT IT, при поиске решения, мы часто используем официальную документацию https://docs.python.org/3/index.html. Всегда рекомендуем ее изучать в первую очередь, если что-то не выходит

Ответить
0

Скрипты отрабатывает но итоговый exe не работает. Говно этот pyinstaller.

Ответить
0

Станислав, вот тут рассматривается некорректная работа файла exe. Может быть у вас похожая ошибка https://qna.habr.com/q/790525 

Ответить
0

я когда открываю ехе открывается командая строка и тут же закрывается

Ответить
0

у меня почему то когда запускаю ехе открывается командная строка и окно игры а потом и тут же закрывается
помогите

Ответить
0

Нужно запустить от имени администратора. Мне это помогло.

Ответить
0

Автору респект и уважуха! Все работает pyinstaller name.py без лишних движений, версия python 3.8.

Ответить
0

что делать если в папке дист нет файлов?

Ответить

Блоги компаний

Комментарии
null