PyInstaller. Дистрибуция кода Python

Введение

Примеры

  • Установка и настройка

    PyInstaller — обычный пакет python. Он может быть установлен с использованием pip:

    pip install pyinstaller

    Установка в Windows:

    Для Windows установка pywin32 или pypiwin32 — обязательное условие. Когда pyinstaller устанавливается с помощью pip, то pypiwin32 устанавливается автоматически.

    

    Установка в Mac OS X:

    PyInstaller работает с Python 2.7 по умолчанию в текущей Mac OS X. Однако, если вы планируете использовать более позднюю версию Python или если вы используете какой-либо из основных пакетов, таких как PyQt, Numpy, Matplotlib, Scipy и т. п. Мы настоятельно рекомендуем установить их с помощью MacPorts, либо Homebrew.

    

    Установка из архива:

    Если установка c помощью pip недоступна, загрузите сжатый архив из PyPI .

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

    Распакуйте архив и найдите скрипт setup.py . Выполните python setup.py install с правами администратора для установки или обновления PyInstaller.

    Проверка установки

    Команда pyinstaller должна присутствовать в системном пути для всех платформ после успешной установки.

    Это можно проверить, набрав pyinstaller --version в командной строке.

  • Использование Pyinstaller

    Перейдите к каталогу, в котором находится ваш файл и введите:

    pyinstaller myfile.py

    Pyinstaller анализирует файл и создает:

    Файл myfile.spec в том же каталоге, что и myfile.py

    Папку сборки в том же каталоге, что и myfile.py

    Папку dist в том же каталоге, что и myfile.py

    Файлы журналов в папке сборки

    Само приложение можно будет найти вложенным в папку dist

    

  • Объединение в одну папку

    Если PyInstaller запускается без каких-либо параметров для myscript.py, то по умолчанию на выход получаем одну папку (с именем myscript). Она содержит файл с именем myscript (myscript.exe в Windows) вместе со всеми необходимыми зависимостями.

    Приложение можно пересылать, сжав папку в zip-файл.

    Режим «One Folder» можно установить с помощью опции -D или --onedir

    pyinstaller myscript.py -D

    Преимущества:

    Одно из основных преимуществ упаковки в папку — легче отлаживать проблемы. Если какие-либо модули не импортируются, их можно проверить в папке.

    Если в коде несколько изменений, но используемые зависимости точно совпадают, дистрибуторы могут просто отправить один исполняемый файл (который обычно меньше всей папки).

    

    Недостатки:

    Единственный недостаток этого метода — пользователи должны искать исполняемый файл в большом количестве файлов.

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

    

  • Объединение в один файл

    pyinstaller myscript.py -F

    Флаг -F или --onefile определяет, что все будет упаковано в единый исполняемый файл myscript.exe.

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

    

Синтаксис

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

Параметры

Примечания

PyInstaller собирает python-приложение и все зависимости в один пакет. Пользователь может запускать приложение без установки интерпретатора python или каких-либо модулей. Pyinstaller поддерживает python 2.7 и python 3.3+ и такие библиотеки как: numpy, Django, OpenCv и другие.

Важные моменты, о которых следует помнить:

Pyinstaller поддерживает Python 2.7 и Python 3.3+

Pyinstaller был протестирован на Windows, Linux и Mac OS X.

Pyinstaller НЕ поддерживает кросс компиляцию из одной платформы для всех возможных (т.е. вы не можете создать исполняемый файл для одной операционной системы из другой операционной системы)