Поиск…


Синтаксис

  • pyinstaller [options] script [script ...] | файл спецификация

замечания

PyInstaller - это модуль, используемый для объединения приложений python в один пакет вместе со всеми зависимостями. Затем пользователь может запустить приложение пакета без интерпретатора python или любых модулей. Он правильно связывает многие крупные пакеты, такие как numpy, Django, OpenCv и другие.

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

  • Pyinstaller поддерживает Python 2.7 и Python 3.3+
  • Pyinstaller был протестирован против Windows, Linux и Mac OS X.
  • Это НЕ перекрестный компилятор. (Приложение Windows не может быть упаковано в Linux. Вы должны запустить PyInstaller в Windows, чтобы связать приложение для Windows)

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

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

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

pip install pyinstaller

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

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

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

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

Проверка установки
Командная команда pyinstaller должна существовать на системном пути для всех платформ после успешной установки.
Проверьте его, набрав pyinstaller --version в командной строке. Это будет печатать текущую версию pyinstaller.

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

В простейшем случае использования просто перейдите к каталогу, в котором находится ваш файл, и введите:

pyinstaller myfile.py

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

  • Файл myfile.spec в том же каталоге, что и myfile.py
  • Папка сборки в том же каталоге, что и myfile.py
  • Папка dist в том же каталоге, что и myfile.py
  • Файлы журналов в папке сборки

Вложенное приложение можно найти в папке dist

Опции
Существует несколько вариантов, которые можно использовать с pyinstaller. Полный список опций можно найти здесь .

После установки вашего приложения можно запустить, открыв 'dist \ myfile \ myfile.exe'.

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

Когда PyInstaller используется без каких-либо параметров для myscript.py , выход по умолчанию представляет собой одну папку (называемую myscript ), содержащую исполняемый файл с именем myscript ( myscript.exe в окнах) вместе со всеми необходимыми зависимостями.
Приложение может быть распространено путем сжатия папки в zip-файл.

Режим One Folder может быть определенно определен с помощью опции -D или --onedir

pyinstaller myscript.py -D

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

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

Недостатки

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

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

pyinstaller myscript.py -F

Параметры для создания одного файла: -F или --onefile . Это myscript.exe программу в один файл myscript.exe .

Исполняемый файл одного файла медленнее, чем пакет с одной папкой. Их также сложнее отлаживать.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow