This is a backwards-incompatible release. To upgrade to it, replace the following import:
from fbs_runtime.application_context import ApplicationContext
by one of the following two:
from fbs_runtime.application_context.PyQt5 import ApplicationContext
or:
from fbs_runtime.application_context.PySide2 import ApplicationContext
Explanation
Earlier fbs versions had the following [code](https://github.com/mherrmann/fbs/blob/1327c4d5028b44ca949bdec72098e930bf79fae3/fbs_runtime/application_context.py#L8-L15):
try:
from PyQt5 import ...
except ImportError:
from PySide2 import ...
This lead to problems when you had both PyQt5 and PySide2 installed:
1) PyInstaller packaged both (!) libraries because it saw both imports.
2) The above made fbs always use PyQt5. But if your app uses PySide2,
then PySide2 and PyQt5 classes / code would be mixed.
3) It wasn't clear (or deterministic, really) which Python binding took
precedence. For instance, PyQt5 and PySide2 set different QML search paths.
See 114.
To fix these problems, the above code was split into separate files: One that
contains all PyQt5 imports, and another that contains all PySide2 imports. You
are supposed to import precisely one of the two. This makes PyInstaller
only package the one necessary library, and prevents the above problems.
Please note that actually, PyInstaller 3.4 is not yet smart enough to do 1).
However, recent development versions of it (eg. [revision 9e1f05ba2](https://github.com/pyinstaller/pyinstaller/commit/9e1f05ba22ee797b6914d85ac11fe9dc425ad649)) can do this.
Until PyInstaller 3.5 is out, the best workaround to avoid all of these problems
is to simply not have both PyQt5 and PySide2 installed in your virtual environment
when using fbs.