How to deploy pyside2 applications? - The Qt way

自作多情 提交于 2019-12-03 21:17:45

问题


I need to deploy a pyside2 application based on Qt 5.12.1 for all major 3 Operative Systems (Windows, Linux and MacOS).

I already checked on How to make a Python script standalone executable to run without ANY dependency? but that is not what I want because I need a Qt-related approach like windeployqt, macdeployqt, linuxdeployqt (separate project).

As pointed by eyllanesc: "python is a scripting language that does not generate a binary". However, the The Qt Company should figure that too and make easier for us to deploy pyside2 applications. At least as easier as deploying C++/QML applications.

So I want a tool like windowsdeployqt, macdeployqt, linuxdeployqt... That works with pyside2 applications.

[UPDATE] eyllanesc recommended fbs (fman build system) as a start point as there is not an official tool to deploy pyside2 applications. That should work as a workaround. New answers are welcome too.
Please answer as soon as possible when The Qt Company releases an official tool.

[NOTE]: I'm using Qt Creator 4.8.1 based on Qt 5.12.1


回答1:


There is currently no Qt way to deploy PySide2 applications (and I do not think there will be any at least in the near future)

On this subject there are the following reports: PYSIDE-901, PYSIDE-913, in it this points out that possibly for Qt for Python 5.13 the documentation will be updated and there will be a section for the deployment. You can see the progress here.

See Deployment

In it 3 options to do deployment:

The options for a project are:
1. Sending a normal zip-file with the application's content.
2. Building a proper Python package(wheel): https://packaging.python.org
3. Freezing the application in a single binary file, or into a directory.

And of the third method they comment on the pro and against of the tools like PyInstaller, cx_Freeze, py2exe and py2app indicating in the end that the best options for them is cx_Freeze or Pyinstaller. There is also another interesting tool that is the fbs project(based on Pyinstaller).

In my personal opinion I would choose fbs because it offers a simple way to package projects based on PyQt5 or PySide2



来源:https://stackoverflow.com/questions/55544964/how-to-deploy-pyside2-applications-the-qt-way

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!