Recommended way to install Pyqt5 with fbs python Macos

Heads up! You've already completed this tutorial.

mike2750 | 2020-10-16 07:13:00 UTC | #1

All the stuff ive seen and tried seem to not work or install unsupported python/pyqt5 version for fbs and paths and compiling is a nightmare when it comes to getting Qtwebengine and its bits copied properly.

fbs requires old as hell pyinstaller and python so the homebrew installations for pyqt installs unsupported combination.

Has anyone recently setup a fresh MacOS fbs environment and possibly noted how they did so with or without homebrew and specific python versions and installer links or commands?

I was using macos in VM and bought a macbook thinking it was a virtualization issue but it seems to be a weird side affect of the ancient requirements fbs still is expecting :frowning:

Hoping someone could shed some light on the current supported way to do this.


mike2750 | 2020-10-18 03:50:38 UTC | #2

So after months off and on of struggling with this nonsense was going to just fork fbs and make it work with python 3.8 and latest pyinstaller. So tested a new minimal project with fbs python 3.8 and pyinstaller 4.0 and worked in linux so went to try it in Macos it was a big NOPE.jpg.

Couldn't get pyinstaller 4.0 to work with python 3.8 in macosx cause of some weird setuptools oddities which was a long waste of time.

Ended up uninstalling homebrew pyqt and then grabbing the official installer from : https://www.python.org/downloads/mac-osx/

Download macOS 64-bit installer: python-3.6.8-macosx10.6.pkg https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg

Then installed the base requirements. requirements.txt fbs==0.9.0 PyQt3D==5.15.1 PyQt5==5.15.1 PyQt5-sip==12.8.1 PyQt5-stubs==5.14.2.2 PyQtChart==5.15.1 PyQtDataVisualization==5.15.1 PyQtPurchasing==5.15.1 PyQtWebEngine==5.15.1

Then i did a force install of the newer pyinstaller==4.0

pip install pyinstaller==4.0 pyinstaller-hooks-contrib==2020.9

This apparently has all the fixes which aren't in the pinned requirements for pyinstaller==3.4 which FBS wants. Also tried pyinstaller==3.6 and it did not work either.

Winning combination seems to be macOS 64-bit installer: python-3.6.8-macosx10.6.pkg

With the below and FBS latest. pyinstaller==4.0 pyinstaller-hooks-contrib==2020.9

I had previously tried the python 3.6.5 and it hadn't worked either.

I did not have to do much to fix the app besides copy some of my app resources from resources folder to the Macos folder after freezing.

Hopefully this helps others out with the QTWebengine and other missing dylib issues when packaging on mac with fbs.

So pleased now as it just works. https://www.youtube.com/watch?v=qpRcSHhOcdo


Create GUI Applications with Python & Qt5 by Martin Fitzpatrick — (PyQt5 Edition) The hands-on guide to making apps with Python — Over 10,000 copies sold!

More info Get the book

Well done, you've finished this tutorial! Mark As Complete
[[ user.completed.length ]] completed [[ user.streak+1 ]] day streak

Recommended way to install Pyqt5 with fbs python Macos was written by Martin Fitzpatrick .

Martin Fitzpatrick has been developing Python/Qt apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt.