Details
Description
With the introduction of array argument support, we used numpy headers for some of the functionality. If PySide picks up the numpy package headers at build time, then at runtime when running a PySide application numpy is also required, otherwise the application would crash.
Furthermore when using PyInstaller 3.3 to deploy a python app, because of a manual hidden import of numpy inside the PySide2 hook file, PyInstaller will pull in a lot more dependencies into the final app package (whole of numpy, distutils, setuptools, tkinter (god knows why)).
We should investigate if it's possible to make the numpy dependency cleaner, so that at runtime an app would not crash when numpy package is not present, but only throw an exception if the functionality is used, or work normally if no numpy functionality is used.
Additionally this would allow us to remove the forced numpy hidden import PyInstaller hook, thus making packages much smaller.