fman build system


Hints for solving common problems that may arise when using fbs.

The most common mistake

fbs only supports Python versions 3.5 and 3.6! Many problems reported by users are caused by using a non-standard distribution such as Anaconda, or Python 3.7. Please ensure that you have the correct version by issuing the following command:

python3 --version

If you see output similar to Python 3.5.x or Python 3.6.x you should be good to go. If not, please install Python 3.6. (On Mac, you can also use brew by following these instructions.) Yes, 3.6 is not the latest and greatest. But installing it takes two minutes and just works. That's a lot better than the headaches you will run into with unsupported Python versions.

PyQt and PyInstaller versions

The same as above applies to fbs's dependencies, PyQt5 and PyInstaller. Please ensure that you have versions 5.9.2 and 3.4, respectively. You can do this via the following command:

pip freeze

My frozen app won't start

In this scenario, fbs run works but running the binary obtained from fbs freeze gives an error. On Windows, the error is typically shown in a dialog:

'Failed to execute script main' dialog when running a PyQt / PySide app

Besides main, the error message may also mention fbs_pyinstaller_hook – see further below.

Failed to execute script main

To get more information in this case, run the following commands:

fbs clean
fbs freeze --debug

When you then start the standalone binary of your application from the command line, you should see a lot more debug output. If it contains an ImportError, see the section on Dependencies in fbs's Manual for a possible solution.

Failed to execute script fbs_pyinstaller_hook

This typically happens when your code does not define a subclass of ApplicationContext. This is required for fbs to work. Please see the tutorial for an example.