Как развернуть приложения pyside2?- способ Qt - PullRequest
2 голосов
/ 06 апреля 2019

Мне нужно развернуть приложение pyside2 на основе Qt 5.12.1 для всех основных 3 операционных систем (Windows, Linux и MacOS).

Я уже проверил Как сделать автономный исполняемый скрипт Python для запуска без ЛЮБОЙ зависимости? но это не то, чего я хочу, потому что мне нужен подход, связанный с Qt, такой как windeployqt, macdeployqt , linuxdeployqt (отдельный проект).

Как указывает eyllanesc: "python - это язык сценариев, который не генерирует двоичный файл" . Тем не менее, компания Qt также должна это понять и упростить нам развертывание приложений pyside2 . По крайней мере, так же просто, как развертывание приложений C ++ / QML.

Поэтому я хочу такой инструмент, как windowsdeployqt , macdeployqt , linuxdeployqt ..., который работает с pyside2 приложениями.

[UPDATE] eyllanesc рекомендовал fbs (fman build system) в качестве отправной точки, поскольку не существует официального инструмента для развертывания pyside2 приложений. Это должно работать как обходной путь. Также приветствуются новые ответы.
Пожалуйста, ответьте как можно скорее, когда компания Qt выпустит официальный инструмент.

[ПРИМЕЧАНИЕ]: Я использую Qt Creator 4.8.1 на основе Qt 5.12.1

1 Ответ

2 голосов
/ 06 апреля 2019

В настоящее время не существует способа развертывания приложений PySide2 на Qt (и я не думаю, что они будут, по крайней мере, в ближайшем будущем)

По этому вопросу имеются следующие отчеты: PYSIDE-901 , PYSIDE-913 , в нем указано, что, возможно, для Qt для Python 5.13 документация будет обновлена ​​и будет раздел для развертывания. Вы можете увидеть прогресс здесь .

В нем 3 варианта сделать развертывание:

Варианты проекта:
1. Отправка обычного zip-файла с содержимым приложения.
2. Сборка правильного пакета Python (колесо): https://packaging.python.org
3. Замораживание приложения в одном двоичном файле или в каталоге.

И третьего метода, который они комментируют за и против таких инструментов, как PyInstaller , cx_Freeze , py2exe и py2app в конце указав, что лучшие варианты для них - cx_Freeze или Pyinstaller. Есть еще один интересный инструмент - проект fbs (основан на Pyinstaller).

По моему личному мнению, я бы выбрал fbs, потому что он предлагает простой способ упаковки проектов на основе PyQt5 или PySide2

...