Python Language
PyInstaller - Распространение кода Python
Поиск…
Синтаксис
- 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
.
Исполняемый файл одного файла медленнее, чем пакет с одной папкой. Их также сложнее отлаживать.