python скрипт в exe

Как создать exe файл для Python кода с помощью PyInstaller

Установка PyInstaller

Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Вот так можно проверить версию PyInstaller.

Я использую PyInstaller версии 4.2.

Создание exe файла с помощью PyInstaller

PyInstaller собирает в один пакет Python-приложение и все необходимые ему библиотеки следующим образом:

Возьмем в качестве примера простейший скрипт на Python c названием simple.py, который содержит такой код.

Создадим один исполняемый файл. В командной строке введите:

python скрипт в exe. papki build i dist takzhe fajl spec. python скрипт в exe фото. python скрипт в exe-papki build i dist takzhe fajl spec. картинка python скрипт в exe. картинка papki build i dist takzhe fajl spec. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

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

python скрипт в exe. ispolnyaemyj fajl. python скрипт в exe фото. python скрипт в exe-ispolnyaemyj fajl. картинка python скрипт в exe. картинка ispolnyaemyj fajl. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Вот что произойдет после запуска файла.

Добавление файлов с данными, которые будут использоваться exe-файлом

Есть CSV-файл netflix_titles.csv, и Python-script, который считывает количество записей в нем. Теперь нужно добавить этот файл в бандл с исполняемым файлом. Файл Python-скрипта назовем просто simple1.py.

Создадим исполняемый файл с данными в папке.

Можно увидеть, что файл теперь добавляется в папку DIST вместе с исполняемым файлом.

python скрипт в exe. dobavlenie fajlov s dannymi. python скрипт в exe фото. python скрипт в exe-dobavlenie fajlov s dannymi. картинка python скрипт в exe. картинка dobavlenie fajlov s dannymi. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Также, открыв spec-файл, можно увидеть раздел datas, в котором указывается, что файл netflix_titles.csv копируется в текущую директорию.

Добавление файлов с данными и параметр onefile

Скрипт обновлен для чтения папки TEMP и файлов с данными. Создадим exe-файл с помощью onefile и add-data.

После успешного создания файл simple1.exe появится в папке DIST.

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

python скрипт в exe. dobavlenie fajlov s dannymi i parametr onefile. python скрипт в exe фото. python скрипт в exe-dobavlenie fajlov s dannymi i parametr onefile. картинка python скрипт в exe. картинка dobavlenie fajlov s dannymi i parametr onefile. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Дополнительные импорты с помощью Hidden Imports

Исполняемому файлу требуются все импорты, которые нужны Python-скрипту. Иногда PyInstaller может пропустить динамические импорты или импорты второго уровня, возвращая ошибку ImportError: No module named …

Для решения этой ошибки нужно передать название недостающей библиотеки в hidden-import.

Например, чтобы добавить библиотеку os, нужно написать вот так:

Файл spec

Файл spec — это первый файл, который PyInstaller создает, чтобы закодировать содержимое скрипта Python вместе с параметрами, переданными при запуске.

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

Если у вас есть какое-либо из нижеперечисленных требований, то вы можете изменить файл спецификации:

Например, есть скрипт simpleModel.py, который использует TensorFlow и выводит номер версии этой библиотеки.

Компилируем модель с помощью PyInstaller:

После успешной компиляции запускаем исполняемый файл, который возвращает следующую ошибку.

Исправим ее, обновив файл spec. Одно из решений — создать файл spec.

Команда pyi-makespec создает spec-файл по умолчанию, содержащий все параметры, которые можно указать в командной строке. Файл simpleModel.spec создается в текущей директории.

Если использовать параметр по умолчанию или onedir, то вместе с exe-разделом будет также и раздел collect.

Можно открыть simpleModel.spec и добавить следующий текст для создания хуков.

Создаем хуки и добавляем их в hidden imports и раздел данных.

Файлы хуков расширяют возможность PyInstaller обрабатывать такие требования, как необходимость включать дополнительные данные или импортировать динамические библиотеки.

Обычно пакеты Python используют нормальные методы для импорта своих зависимостей, но в отдельных случаях, как например TensorFlow, существует необходимость импорта динамических библиотек. PyInstaller не может найти все библиотеки, или же их может быть слишком много. В таком случае рекомендуется использовать вспомогательный инструмент для импорта из PyInstaller.utils.hooks и собрать все подмодули для библиотеки.

Скомпилируем модель после обновления файла simpleModel.spec.

Скопируем исполняемый файл на рабочий стол и увидим, что теперь он корректно отображает версию TensorFlow.

Вывод:

PyInstaller предлагает несколько вариантов создания простых и сложных исполняемых файлов из Python-скриптов:

Источник

python скрипт в exe. mhcjbn4oyj44ziwcu yqq udsss. python скрипт в exe фото. python скрипт в exe-mhcjbn4oyj44ziwcu yqq udsss. картинка python скрипт в exe. картинка mhcjbn4oyj44ziwcu yqq udsss. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Установка Auto PY to EXE

Установка через pip

При помощи следующей команды можно установить текущую версию Auto PY to EXE.

Установка с GitHub

Также можно выполнить установку напрямую с GitHub. Для установки Auto PY to EXE с GitHub необходимо сначала клонировать репозиторий GitHub.

Можно также проверить версию при помощи следующей команды:

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Текущая версия Auto PY to EXE 2.9.0 и теперь она установлена на ваш компьютер.

Открываем приложение

Чтобы открыть Auto PY to EXE, нужно выполнить в терминале следующую команду:

Откроется удобное приложение с GUI:

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Интерфейс пользователя Auto PY to EXE

Процесс преобразования

Шаг 1. Добавляем местоположение файла

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Добавляем местоположение файла

Я добавил местоположение основного файла Python моего проекта. Здесь я использую для примера один из своих проектов на Python. Это приложение с GUI, визуализирующее различные алгоритмы сортировки. О создании этого проекта можно прочитать здесь: Build a Sorting Algorithm Visualizer in Python

Шаг 2. Выбор «One Directory» или «One File»

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

One directory или One file

Шаг 3. Выбор «Console Based» или «Window Based»

После этого нужно будет выбрать тип приложения: консольное (Console Based) или оконное (Window Based). Если выбрать «Window Based», то это скроет весь консольный вывод приложения. Если ваш проект генерирует консольный вывод, то нужно выбрать «Console Based». Если у вас приложение с GUI или вам не нужно отображать пользователю консольный вывод, то выберите «Window Based». Я выбрал второй вариант, потому что моё приложение имеет GUI.

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Console Based или Window Based

Шаг 4. Преобразование

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Нажмите кнопку для преобразования

Для завершения процесса придётся немного подождать.

Папка с результатами

После завершения процесса можно будет выбрать опцию открытия папки с результатами.

python скрипт в exe. image loader. python скрипт в exe фото. python скрипт в exe-image loader. картинка python скрипт в exe. картинка image loader. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Готово! Наш проект на Python теперь преобразован в исполняемый файл. Его можно запускать на других компьютерах без необходимости установки Python.

Ресурсы

На правах рекламы

Серверы для всех, в том числе, и для разработчиков! VDS с посуточной оплатой на базе новейших процессоров AMD EPYC и хранилища на основе NVMe дисков от Intel для размещения проектов любой сложности, создавайте собственную конфигурацию сервера в пару кликов!

Источник

Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.

Хочется отметить, что для меня Python является одним из самых интересных, мощных языков программирования. С ним я познакомился примерно в 2016 году и только спустя год осознал всю его мощь и красоту.

pip – система управления пакетами, которая используется для установки и управления программными пакетами, которые написаны на Python. Если кратко, то pip – это файловый менеджер языка Python.

pyinstaller – программа, которая собирает все зависимости и python-приложение в один пакет и превращает его в исполняемый файл для Windows, Linux, MacOS.

Для начала, нам нужно установить pyinstaller с помощью pip. Пишем команду в командной строке:

Если вы используете Linux и у вас не установлен pip, то просто напишите команду:

На Windows, если вы не изменяли конфигурации установки Python, проблемы отсутствия pip у вас возникнуть не должно.

Вторым шагом будет переход в директорию с нашим проектом. Просто копируем путь и с помощью команды cd (наш путь) переходим в директорию, для Linux и Windows команда одинаковая.

python скрипт в exe. python to exe. python скрипт в exe фото. python скрипт в exe-python to exe. картинка python скрипт в exe. картинка python to exe. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Сделаем мы это с помощью установленного пакета pyinstaller.

python скрипт в exe. python project to exe. python скрипт в exe фото. python скрипт в exe-python project to exe. картинка python скрипт в exe. картинка python project to exe. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

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

Так же подписывайтесь на обновления сайта, тут будет ещё много интересного!

Источник

Немного про py2exe

Есть такое приложение. Называется py2exe. Оно позволяет упаковать, сконвертировать программу на python в exe файл (ну, точнее, exe и еще кучку других). Зачем оно все надо? Ну, далеко не у всех пользователей windows установлен интерпретатор python с нужными библиотеками. А вот упакованная программа в идеале должна запуститься на любой windows-машине.

Установка

К сожалению, py2exe не поддерживает третью версию питона.
Скачать py2exe можно на SourceForge.
Если у вас стоит python (а он у вас наверняка стоит), проблем с установкой возникнуть не должно. Ставится в директорию python.

Конвертация

Где main.py имя Вашего скрипта.

Далее запускаем упаковку командой:

Смотрим, что у нас получилось. Две папки.
build — служебная, можно сразу снести.
dist — собственно, в ней и лежит наша программа.

Сложности

Скорее всего возникнут какие-то проблемы.

Например, пути к файлам. Не следует использовать относительные пути. Они ведут неведомо куда. Лучше использовать абсолютные.
Как его узнать? в интернете есть решение, функция module_path.

Или приложение наотрез откажется запускаться (возможно, не у Вас, а у кого-то еще). Из-за отсутствие библиотек Visual Studio.
В качестве решения проблемы можно установить их на компьютер (но это же не наш метод) или кинуть dll и файл манифеста в папку с программой.
msvcr90.dll и Microsoft.VC90.CRT.manifest (не знаю как это лицензируется и выкладывать не буду)
Где их взять? Для меня самым простым было переустановить python (все остальное осталось на месте) в режиме «только для меня». И искомые файлы оказались в папке с python.

Целью топика не являлось раскрыть всех особенностей py2exe. Здесь находится туториал, а тут некоторые советы и трюки.

Размер

В силу некоторых особенностей, приложение может получиться ужасающего размера. Но с этим можно и нужно бороться. Идеи подсказал kAIST (ну, кроме upx’а =р)

Источник

Статья Пакуем Python в EXE

Зачем вообще это надо? Да по сути и не надо в большинстве случаев. Но бывает, что вы написали или скопировали какую-нибудь интересную тулзу, и хотите с ней поделиться. Конечно, если у того, кому вы отправляете прогу есть Python, то проблем нет. А бывает, что человек не шарит совсем в кодинге, и как пользователь тоже не имеет установленного питона нужной версии.

Вот тогда и выручает упаковка файла или файлов в EXE. Такой файл будет запускаться и работать по клику мышки, всё очень просто.

Для сборки файлов в экзешник есть разные приложения. Я рассмотрю самый простой, без всяких заморочек, с которым разберётся любой новичок.

Распаковываем архив. Внутри папки будет конвертер, запускающийся по клику мышки.

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

python скрипт в exe. pyins png. python скрипт в exe фото. python скрипт в exe-pyins png. картинка python скрипт в exe. картинка pyins png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Вот что получилось

python скрипт в exe. pyins2 png. python скрипт в exe фото. python скрипт в exe-pyins2 png. картинка python скрипт в exe. картинка pyins2 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Жмём Build, прога чуток поколдует, выдаст нам сообщение об успешной сборке.

python скрипт в exe. pyins3 png. python скрипт в exe фото. python скрипт в exe-pyins3 png. картинка python скрипт в exe. картинка pyins3 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

После этого в папке с конвертором появятся 2 папки

python скрипт в exe. pyins4 png. python скрипт в exe фото. python скрипт в exe-pyins4 png. картинка python скрипт в exe. картинка pyins4 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

В папке dist и будет лежать наш готовый дистрибутив в формате EXE. Переместите его куда угодно, а потом обе эти папки можно смело удалять. Теперь проверяем работоспособность выходного файла, кликнув на него.

python скрипт в exe. pyins5 png. python скрипт в exe фото. python скрипт в exe-pyins5 png. картинка python скрипт в exe. картинка pyins5 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

python скрипт в exe. 100533. python скрипт в exe фото. python скрипт в exe-100533. картинка python скрипт в exe. картинка 100533. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

explorer

товарищ Сухов

python скрипт в exe. screenshot 1 png. python скрипт в exe фото. python скрипт в exe-screenshot 1 png. картинка python скрипт в exe. картинка screenshot 1 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Размер собранного уже составляет 13827КВ. При запуске мелькает пустое окно приложения и закрывается. Файлы с картинкой и музыкой, разумеется, присутствуют.

Как же хорош мой любимый и родной С.

python скрипт в exe. 100533. python скрипт в exe фото. python скрипт в exe-100533. картинка python скрипт в exe. картинка 100533. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

explorer

Ну вот я и вернулся с моря. Очень хорошо что есть баг, это заставило меня провести небольшое исследование по сборке файлов в EXE.
Для этого я прогнал разные ресурсы и выяснил по крайней мере 3 причины, по которым компилл не получается как надо.

Грабли, грабли, грабли.

1. Отсутствуют некоторые библиотеки dll в самой винде.
2. Присутствует скрытый импорт в модуле. В музыкальной открытке есть предупреждение: WARNING: Hidden import «pygame._view» not found!
Соответственно сборщик не может знать путей к нужному модулю.
3. Файл «моя программа.py» изначально не запускается двойным кликом мышки, а лишь через IDLE и т.п.

Теперь выбранное расширение подставляется к имени файла.

Более сложные программы можно собрать через другие тулзы. Правда работать чуток посложнее, больше телодвижений. Одна из программ cx_Freeze.

Сначала нужно установить wheel. В cmd вводим pip install wheel или pip3 install wheel

python скрипт в exe. cx png. python скрипт в exe фото. python скрипт в exe-cx png. картинка python скрипт в exe. картинка cx png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Далее ЗДЕСЬ выбираем и скачиваем нужную версию cx_Freeze

python скрипт в exe. cx1 png. python скрипт в exe фото. python скрипт в exe-cx1 png. картинка python скрипт в exe. картинка cx1 png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Скачанный файлик кидаем в корень диска С и в cmd вводим команду:
pip install С:\cx_Freeze-5.1.1-cp36-cp36m-win32.whl (название своей версии, если оно отличается)

В каталоге с программой которую нужно скомпилировать создайте файл «setup.py» в который разместите код:

К сожалению, в отличии от pyinstaller, сборка не будет в один файл, а будет куча библиотек и прочего, без которых экзешник работать не будет. По сути мы получим портабл версию. В этом минус. Плюс заключается в том, что настройки гибкие, и даже очень упрямые программы можно собрать этим инструментом.

Попробовал собрать открытку из темы Ваяем музыкальную открытку на Python со стандартным файлом setup.py ничего не получилось. Пришлось колдовать часа 1,5 чтобы решить все вопросы.

Сначала cx_Freeze ругалась на модуль tkinter, так как не могла найти пути к tcl8.6 и tk8.6. Вручную прописал, на этом трудности не закончились. Дальше захотелось ей dll-ок, тоже добавил. Вдоволь поизвращавшись, прога успешно собралась.

Однако бесячее окно с надписью от модуля pygame резало глаза

python скрипт в exe. pygame png. python скрипт в exe фото. python скрипт в exe-pygame png. картинка python скрипт в exe. картинка pygame png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

Ещё малость шаманских танцев с бубном и наши победили )))

Весь этот гемор я победил лишь из-за спортивного интереса

Кстати открытка с переписанным кодом в Pyinstaller тоже успешно собралась без всяких танцев с бубном

python скрипт в exe. cod png. python скрипт в exe фото. python скрипт в exe-cod png. картинка python скрипт в exe. картинка cod png. Установка PyInstaller не отличается от установки любой другой библиотеки Python.

товарищ Сухов

PS Посмотрел тесты производительности на одном и том же железе для Java, Python и C (задача была на формирование и обсчет большой матрицы) и почти не удивился: первые два от 28 до 40 раз медленнее.

Kultiapin

Зачем вообще это надо? Да по сути и не надо в большинстве случаев. Но бывает, что вы написали или скопировали какую-нибудь интересную тулзу, и хотите с ней поделиться. Конечно, если у того, кому вы отправляете прогу есть Python, то проблем нет. А бывает, что человек не шарит совсем в кодинге, и как пользователь тоже не имеет установленного питона нужной версии.

Вот тогда и выручает упаковка файла или файлов в EXE. Такой файл будет запускаться и работать по клику мышки, всё очень просто.

Для сборки файлов в экзешник есть разные приложения. Я рассмотрю самый простой, без всяких заморочек, с которым разберётся любой новичок.

Распаковываем архив. Внутри папки будет конвертер, запускающийся по клику мышки.

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

Запускаем прогу, так она выглядит
Посмотреть вложение 21795

Жмём Build, прога чуток поколдует, выдаст нам сообщение об успешной сборке.
Посмотреть вложение 21797

После этого в папке с конвертором появятся 2 папки
Посмотреть вложение 21798

В папке dist и будет лежать наш готовый дистрибутив в формате EXE. Переместите его куда угодно, а потом обе эти папки можно смело удалять. Теперь проверяем работоспособность выходного файла, кликнув на него.
Посмотреть вложение 21799

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *