Как скомпилировать Python код в .exe
Как скомпилировать Python код в .exe | немного теории
Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.
Хочется отметить, что для меня Python является одним из самых интересных, мощных языков программирования. С ним я познакомился примерно в 2016 году и только спустя год осознал всю его мощь и красоту.
Многие задаются вопросом, когда написали программу на Python: “А как его скомпилировать в .exe файл?”. Вопрос довольно сложный, для того, кто только открыл для себя этот язык и ещё не сталкивался с pip.
pip – система управления пакетами, которая используется для установки и управления программными пакетами, которые написаны на Python. Если кратко, то pip – это файловый менеджер языка Python.
pyinstaller – программа, которая собирает все зависимости и python-приложение в один пакет и превращает его в исполняемый файл для Windows, Linux, MacOS.
Как скомпилировать Python код в .exe | практикум
Давайте разберем, как скомпилировать Python код в .exe за минуту, с помощью Терминала(в Linux) или cmd(Windows).Для начала, нам нужно установить pyinstaller с помощью pip. Пишем команду в командной строке:
pip install pyinstaller
Если вы используете Linux и у вас не установлен pip, то просто напишите команду:
apt-get install python-pip
На Windows, если вы не изменяли конфигурации установки Python, проблемы отсутствия pip у вас возникнуть не должно.
Вторым шагом будет переход в директорию с нашим проектом. Просто копируем путь и с помощью команды cd (наш путь) переходим в директорию, для Linux и Windows команда одинаковая.
Теперь давайте скомпилируем наш Python код в .exe, не будем тянуть.
Сделаем мы это с помощью установленного пакета pyinstaller.
Пишем команду:
pyinstaller -F -w -i( to set up icon on your .exe) main.py
Давайте разберем каждый флаг, они не обязательно все вам понадобятся.
- -F – этот флаг отвечает за то, чтобы в созданной папке dist, в которой и будет храниться наш исполняемый файл не было очень много лишних файлов, модулей и т.п.
- -w – этот флаг вам понадобится в том случае, если приложение использует tkinekt, оно блокирует создание консольного окна, если же ваше приложение консольное, вам этот флаг использовать не нужно.
- -i – этот флаг отвечает за установку иконки на наш исполняемый файл, после флага нужно указать полный путь к иконке с указанием её имени. Например: D:\LayOut\icon.ico
Вот и всё, сегодня мы рассмотрели, как скомпилировать Python код в .exe, Если у вас остались какие-либо вопросы, пишите их в комментарии, с удовольствием отвечу.
Так же подписывайтесь на обновления сайта, тут будет ещё много интересного!
Удачи в жизни и до встречи!
Огромное спасибо, очень полезная статья!
питон-интерпретируемый, а не компилируемый язык программирования…
Не стану расписывать тирады, ведь на данное сообщение уже давно ответили за меня. Google:
Если кратко, то компилируется ли язык программирования или интерпретируется, на самом деле это не зависит от природы языка программирования. Любой язык программирования может интерпретироваться так называемым интерпретатором или компилироваться с помощью так называемого компилятора.
Можно скомпилировать программы Python в объектный или машинный код и запустить его непосредственно в процессоре. Но эта процедура включает в себя компиляцию кода и добавление в качестве ее части всего интерпретатора Python, что и описано в данной статье.
абсолютно верно
можно скомпилировать даже php (для особых энтузиастов) и javascript
язык – это лишь средства
на пути к цели – все средства хороши
Ткинтер же библиотека, не?
Да, это графическая библиотека.
Python kivy. При запуске exe зависает.
Python kivy. При запуске exe зависает.
Железо у тебя слабое, я лично сам тестировал эту библиотеку на разных пк…. Всё везде работает
а у меня выдает ошибку “pyinstaller” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
У тебя библиотека pyinstaller не установлен
Введи в консоль “pip install pyinstaller”
Что делать, если скомпилированные таким образом консольное приложение выдаёт ошибки при запуске на другом компьютере?
Что делать если выдает ошибку: ValueError: script ‘C:\Users\я\Калькулятор1.0’ not found. уже 3 день пытаюсь разобраться с проблемой и понял, что нет папки со скриптами вместе питоном. пытался переустановить питон, все равно устанавливается без каких либо папок.
Закинь в папку C:\Users\ свой файл и заново скомпилируй.
Здравствуйте. По Вашим рекомендациям получаю тип файла AAP, а не EXE. в чем может быть проблема?
Что делать если выдаёт ошибку “Non-UTF-8 code starting with ‘\xf0’ in file C:\(путь к файлу)\pyinstaller-script.py on line 1, but no encoding declared”
уже смотрел pep, пытался всячески в первой строке указать кодировку, не понимаю как ещё исправить?
вы нашли решение этой проблемы? Я столкнулся с аналогичной ситуацией
Отлично!
Спасибо, скомпелировал *.exe из фрейворка pygame без труда:
pyinstaller -F -w scratch.py
Windows 10, Python 3.8
Хочу в программу включить *.jpeg
Т.к. PIL на Python 3 не работает – использовал для этих целей библиотеку Pillow
Так вот, не получается собрать исполняемый фаил с библиоекой Pillow при помощи pyinstaller.
Вопрос. Как собрать исполняемый фаил в котором будет jpeg?
Добрый день, нашли решение этой проблемы?
Столкнулся с такой же, никак не могу разобраться
Добрый день! Очень полезная статья, но вы рассмотрели только 2 операционные системы. На macOS скомпилировать код в python не представляется возможным?
Спасибо. Консольные приложения создаются и работают. А вот с графическим интерфейсом (исп модуль pygame) .exe создается, но не запускается.((((((
пишет, мол “pyinstaller” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Здравствуйте, у меня следующая проблема:
при вводе “-F 1234.py”
мне выдаёт “SyntaxError: Non-UTF-8 code starting with ‘\xe2’ in file C:\Users\Властелин\AppData\Local\Programs\Python\Python39\Scripts\pyinstaller-script.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details”
нужна очень подробная инструкция что делать( всё что я нашёл в сети мне не помогло/ я не смог понять как это применить
Код я писал в Sublime Text 3, версия python – последняя