diff options
Diffstat (limited to 'sources/pyside2')
-rw-r--r-- | sources/pyside2/doc/deployment.rst | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/sources/pyside2/doc/deployment.rst b/sources/pyside2/doc/deployment.rst index a125dc4d7..eb8d77b0d 100644 --- a/sources/pyside2/doc/deployment.rst +++ b/sources/pyside2/doc/deployment.rst @@ -6,23 +6,23 @@ Deploying or freezing an application is a crucial part of many Python projects. Most large projects are not based on a single Python file, so the distribution of these applications becomes more difficult. -The options for a project are: +Here are a few distribution options that you could use: 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. + 3. Freezing the application into a single binary file or a directory. -For the **third** option, there are many available tools: +If you choose the **third** option, consider using one of these tools: * `fbs <https://build-system.fman.io/>`_, * `PyInstaller <https://www.pyinstaller.org/>`_, * `cx_Freeze <https://anthony-tuininga.github.io/cx_Freeze/>`_, * `py2exe <http://www.py2exe.org/>`_, * `py2app <https://py2app.readthedocs.io/en/latest/>`_, -Since |project| is a cross-platform framework, -we would like to focus on solutions that at least work on -the three major platform supported by Qt: Linux, macOS, and Windows. - -The following table summarizes the above mentioned tools support: +|project| is a cross-platform framework, +so we would like to focus on solutions that work on the three +major platforms supported by Qt: Linux, macOS, and Windows. +The following table summarizes the platform support for those packaging +tools: =========== ======= ===== ===== ======= Name License Linux macOS Windows @@ -34,34 +34,27 @@ py2exe MIT no no yes py2app MIT no yes no =========== ======= ===== ===== ======= -From the table we can see that only *fbs*, *cx_Freeze* and *PyInstaller* -meet our requirements. +According to this table, only *fbs*, *cx_Freeze*, and *PyInstaller* +meets our cross-platform requirement. -All tools are command-line based, and it could become -a hard task to include more resources to your application, such as -images, icons, and meta-information, because you will need to create -special hooks or separate scripts to handle them. -Additionally, since this only -allows you to freeze your current application, you don't have -any mechanism to update your application. +As these are command-line tools, it could be hard to include +resources to your application, such as images, icons, and +meta-information. This means, you will need special hooks +or scripts to handle them before adding to the package. +In addition to this, these tools does not offer a mechanism +to update your application packages. -To cover the update part, there is a tool built around PyInstaller -called `PyUpdater <https://www.pyupdater.org/>`_ which enables -a simple mechanism to ship applications updates. +To create update packages, use the `PyUpdater <https://www.pyupdater.org/>`_, +which is built around PyInstaller. -On top of all these features, including also a nice interface -that allows the user to install the application step by step, -or even better, provide templates to create new projects to easily -freeze-them-up is something really beneficial for both developers -and end-users. -This is where `fbs <https://build-system.fman.io>`_ enters the -game, being based on PyInstaller, but including all the nice features -we previously mentioned. +The `fbs <https://build-system.fman.io>`_ tool offers a nice UI +that allows the user to install the application step-by-step. Here you can find a set of tutorials on how to use the previously described tools. -.. note:: Deployment is possible only in Qt for Python 5.12.2 +.. note:: Deployment is supported only from Qt for Python 5.12.2 and +later. .. toctree:: :name: mastertoc |