Рубрики
Без рубрики

Pyinstaller – создать исполняемые файлы Python

Эй, ребята! В этом руководстве мы узнаем цель и основы Python Pyinstaller. Итак, давайте начнем!

Автор оригинала: Pankaj Kumar.

Pyinstaller – создать исполняемые файлы Python

Эй, ребята! В этом руководстве мы узнаем цель и основы Python Pyinstaller Отказ Итак, давайте начнем!

Что такое Pyinstaller?

Pyinstaller – это пакет в Python, который связывает все зависимости приложений Python в одном пакете.

Нам не нужно устанавливать разные пакеты или модули для различных приложений.

Pyinstaller читает и анализирует наш код, а затем обнаруживает модули, которые требуют нашей программы для выполнения. Затем он упаковывает их в одну папку или один исполняемый файл.

Он используется для создания файлов .exe для Windows, файлов .App для Mac и распределяемых пакетов для Linux.

Как установить Pyinstaller?

Мы можем скачать Pyinstaller из Pypi. Мы можем установить его, используя диспетчер пакетов PIP Package.

Рекомендуется создать виртуальную среду и установить там Pyinstaller.

Введите следующую команду в командной строке Windows

pip install pyinstaller

Теперь установите текущий каталог на местонахождение вашей программы Program.py Отказ

cd CurrentDirectory

Запустите код, приведенный ниже. Здесь Program.py это название нашего данного сценария Python.

pyinstaller program.py

Pyinstaller анализирует наш код и делает следующее

  1. Создает Программа.spec Файл, который содержит информацию о файлах, которые должны быть упакованы.
  2. Создана папка сборки, которая содержит некоторые файлы журнала и рабочие файлы.
  3. Папка с именем Dist Также будет создано, в котором содержится .exe Файл с тем же именем, что и данный именем сценария Python.

Теперь есть 3 важных элемента использования Pyinstaller:

  • Файл .spec
  • Папка сборки
  • Dist папка

Что такое спецификация?

Файл SPEC, короткий для файла спецификации – это первый файл, который построен после выполнения Pyinstaller Program.py Отказ Он хранится в --specpath = каталог Отказ Файл SPEC – это исполняемый код Python, который сообщает Pyistaller, как обрабатывать наш сценарий Python.

Модификация файла SPEC не требуется, кроме как в нескольких случаях, когда это полезно, когда мы хотим:

  1. Чтобы объединить наши файлы данных с приложением.
  2. Включить библиотеки времени выполнения, которые неизвестны Pyinstaller.
  3. Чтобы добавить варианты времени выполнения Python в исполняемый файл.
  4. Создать многопрограммурный пакет с объединенными общими модулями.

Чтобы создать SPEC-файл, запустите эту команду

pyi-makespec program.py

Эта команда создает Program.py SPEC файл. Для создания приложения мы передаем файл SPEC в команду Pyinstaller:

pyinstaller program.spec

Что такое папка сборки?

Папка сборки хранит метаданные и полезно для Отладка Отказ

Build/Program/Warn-Program.txt Файл в построить/ Папка содержит много выходов, чтобы лучше понять вещи.

Чтобы просмотреть вывод, восстановить исполняемый файл --Log-Level = Debug вариант. Рекомендуется сохранить этот вывод, чтобы обратиться к позже. Мы можем сделать это

pyinstaller --log-level=DEBUG program.py

Это создаст файл Build.txt в папке сборки, которая будет содержать много сообщений отладки.

Какая папка Dist?

Папка Dist содержит требования и исполняемые файлы для приложения. Он содержит файл .exe с тем же именем, что и наш скрипт.

Исполняемый для бега есть Dist/Program/Program.exe на окнах.

Что такое импортеррар?

Если Pyinstaller не может определить все зависимости правильно, ImportError Ошибка видна. Это происходит, когда мы используем __import __ () Отказ Импорт внутри функций или скрытых импорта.

Чтобы разрешить это мы используем, --hidden-import Отказ Эта команда включает в себя пакеты и модули автоматически.

Другой способ использует файлы крючков, которые содержат дополнительную информацию, которая помогает Pyinstaller Package UP в зависимости.

pyinstaller --additional-hooks-dir=. program.py

Как изменить имя нашего исполняемого файла с помощью Pyinstaller?

Чтобы избежать нашего спецификации, сборка и исполняемого файла имена как нашего имени сценариев Python, мы можем использовать -Нам команда.

pyinstaller program.py --name pythonproject

Как создать один исполняемый файл?

Pyinstaller также может создать одно файловое приложение для нашего сценария Python. Он содержит архив всех модулей Python, требуемый нашей программой Python.

Чтобы создать только один исполняемый файл вашего сценария Python, запустите код, приведенный ниже-

pyinstaller --onefile --windowed program.py

Тестирование нашего исполняемого исполнения

Мы всегда должны проверять наш исполняемый файл в новой машине без какой-либо среды развития, как Виртуал , Кондей И т. Д. В качестве основной цели исполняемого исполнителя Pyinstaller заключается в том, что пользователь не должен потребовать какую-либо вещь, установленную на их системе.

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

FileNotFoundError: 'version.txt' resource not found in 'importlib_resources'

Это потому, что «ImportLib_Resources» требует version.txt файл. Мы можем добавить этот файл по команде, приведенной ниже.

pyinstaller program.py \
    --add-data venv/reader/lib/python3.6/site-packages/importlib_resources/version.txt:importlib_resources

Это будет включать version.txt Файл в новой папке в ImportLib_Resources папка.

Заключение

В этой статье мы узнали, как установить Pyinstaller, Run, Debug и проверить наш исполняемый файл. Ждите продолжения!

использованная литература

Официальные документы Pyinstaller