Копирование проекта в “.exe” на Python

Написав программу на языке программирования Python мы начинаем думать: “А как собрать нашу программу в файл и запускать на любом компьютере без установки интерпретатора Python?”. В этой статье мы разберемся в этом вопросе.

Существует большое количество библиотек, позволяющих это сделать, среди которых самые популярные: cx_Freeze, py2exe, nuitka, PyInstaller и др.

В данной статье мы подробно рассмотрим установку библиотеки PyInstaller и собрание проекта на операционной системе Windows, а это означает, что мы будем собирать проект в “.exe” файл.

На официальном сайте библиотеки PyInstaller вы можете изучить документацию по другим операционным системам.

Установка PyInstaller

Чтобы установить PyInstaller необходимо сначала установить Python. В статье “Установка Python” вы можете подробно изучить установку Python на Windows.

Для корректной работы PyInstaller рекомендуется установить версию Python 3.7.6 т.к. на данный момент (Февраль 2020) библиотека корректно работает с данной версией Python, а с самой новой версией не работает.

Для установки библиотеки запустите командную строку от имени администратора:


Копирование проекта в ".exe" на Python

Установим необходимую библиотеку pypiwin32. В командной строке напишите строку:

pip install pypiwin32


Копирование проекта в ".exe" на Python

Если у вас выйдет строка “WARNING”, как на картинке ниже, тогда необходимо обновить “pip” до последней версии. Код:

pip install --upgrade pip


Копирование проекта в ".exe" на Python

После того, как обновите pip вводим строку для загрузки библиотеки:

pip install pyinstaller


Копирование проекта в ".exe" на Python

После загрузки библиотеки проверьте её версию:

pyinstaller --version


Копирование проекта в ".exe" на Python

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

pip list


Копирование проекта в ".exe" на Python

Все необходимые библиотеки мы установили. Если вы все сделали по описанию, тогда у вас должно быть как на изображении.

Собрание проекта

В статье “Библиотека Tkinter в Python” мы создали небольшое графическое приложение. Для примера возьмем это приложение и соберем в .exe файл (приложение имеет имя: form.py).

В папке с проектом запускаем командную строку (cmd):


Копирование проекта в ".exe" на Python

Прописываем код:

pyinstaller form.py


Копирование проекта в ".exe" на Python

Это и есть простейшая команда, которая соберет наш проект.

PyInstaller анализирует файл form.py и делает следующее:

  1. Пишет файл form.spec в той же папке, где находится скрипт.
  2. Создает папку build в той же папке, где находится скрипт.
  3. Записывает некоторые логи и рабочие файлы в папку build.
  4. Создает папку dist в той же папке, где находится скрипт.
  5. Пишет исполняемый файл в папку dist.

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


Копирование проекта в ".exe" на Python

Наиболее часто используемые опции:

–onefile — сборка в один файл, т.е. файлы .dll не пишутся.

–windowed -при запуске приложения, будет появляться консоль.

–noconsole — при запуске приложения, консоль появляться не будет.

–icon=app.ico — добавляем иконку в окно.

–paths — возможность вручную прописать путь к необходимым файлам, если pyinstaller не может их найти(например: –paths D:\python35\Lib\site-packages\PyQt5\Qt\bin).

Синтаксис команды pyinstaller:

pyinstaller [options] script [script ...] | specfile

Используем опцию –onefile для сборки нашего проекта в один файл.

Можете взять другой проект или удалить все файлы проекта созданные библиотекой pyinstaller и собрать его заново. Код:

pyinstaller --onefile form.py


Копирование проекта в ".exe" на Python

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


Копирование проекта в ".exe" на Python

Запустите собранный .exe файл проекта и проверьте его работоспособность. На этом наша статья подходит к завершению. В комментариях вы можете задавать интересующие вопросы.

Видео по копированию проекта в “.exe”:



 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

2 ответа к “Копирование проекта в “.exe” на Python”

только начинаю осваивать Python, пока без ООП, пытаюсь сделать исполняемый файл MY.exe, четко как описано. Файл получается, но при его запуске появляется окно: Fatal error detected
и сообщение: Failed to execute script MY

 

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

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

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Связи между моделями.

Связи между моделями.

В нашем проекте есть одна модель под названием “Объявления”. В этой статье мы создадим новый класс модели “Rubric”, которая будет представлять рубрики объявлений. Допишем в

 
Параметры полей и моделей.

Параметры полей и моделей.

Для того, чтобы наша административная панель Django выглядела более понятна для обычного пользователя необходимо указать правильные названия полей. Наша созданная модель представляется непонятной аббревиатурой “Bbs”,

 
Административный web-сайт Django.

Административный web-сайт Django.

Административный web-сайт предоставляет доступ ко всем моделям, объявленным во всех приложениях, что составляют проект. С помощью данной панели можно просматривать, добавлять, править и удалять записи,

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: