QtWebEngineWidgets on MacOS

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

QtWebEngineWidgets on MacOS

Glenn Ramsey-2
Hi All,

Getting QtWebEngineWidgets packaged properly is complicated and people, myself
included, seem to still be having issues with it.

In my case it seems that the issue arises because I'm using versions of Qt5 and
PyQt5 that I built from source and I have got it to work as described here:

https://github.com/pyinstaller/pyinstaller/issues/2276#issuecomment-635781511

While looking into this I notice that many of the Qt libraries seem to be
duplicated.

The Qt dylibs that my app is linked to are in myapp.app/Contents/MacOS. E.g.
myapp.app/Contents/MacOS/QtCore. The PyQt libs in
myapp.app/Contents/MacOS/PyQt5/*.so are also linked with those dylibs e.g.

$otool -L PyQt5/QtCore.so
PyQt5/QtCore.so:
        @loader_path/../QtCore (compatibility version 5.12.0, current version 5.12.7)

QtWebEngineProcess.aps is located at

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app

but the way it's set up it will only work if it has its own private version of
the Qt libraries:

otool -L
PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:
        @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebEngineCore.framework/Versions/5/QtWebEngineCore (compatibility
version 5.12.0, current version 5.12.7)
        @rpath/QtPositioning.framework/Versions/5/QtPositioning (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebChannel.framework/Versions/5/QtWebChannel (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQml.framework/Versions/5/QtQml (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.12.0,
current version 5.12.7)


What is the reason for this?

If I change it to use the main copy of the Qt libraries will that break anything?

Glenn

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/9d0dda7f-e88d-df8b-3bc4-46681dd3d1d1%40componic.co.nz.
Reply | Threaded
Open this post in threaded view
|

Re: QtWebEngineWidgets on MacOS

Carlos Francisco Miranda
If possible to make a exe with plotly pandas numpy sklearn more big data

El mar., 2 jun. 2020 22:30, Glenn Ramsey <[hidden email]> escribió:
Hi All,

Getting QtWebEngineWidgets packaged properly is complicated and people, myself
included, seem to still be having issues with it.

In my case it seems that the issue arises because I'm using versions of Qt5 and
PyQt5 that I built from source and I have got it to work as described here:

https://github.com/pyinstaller/pyinstaller/issues/2276#issuecomment-635781511

While looking into this I notice that many of the Qt libraries seem to be
duplicated.

The Qt dylibs that my app is linked to are in myapp.app/Contents/MacOS. E.g.
myapp.app/Contents/MacOS/QtCore. The PyQt libs in
myapp.app/Contents/MacOS/PyQt5/*.so are also linked with those dylibs e.g.

$otool -L PyQt5/QtCore.so
PyQt5/QtCore.so:
        @loader_path/../QtCore (compatibility version 5.12.0, current version 5.12.7)

QtWebEngineProcess.aps is located at

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app

but the way it's set up it will only work if it has its own private version of
the Qt libraries:

otool -L
PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:
        @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebEngineCore.framework/Versions/5/QtWebEngineCore (compatibility
version 5.12.0, current version 5.12.7)
        @rpath/QtPositioning.framework/Versions/5/QtPositioning (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebChannel.framework/Versions/5/QtWebChannel (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQml.framework/Versions/5/QtQml (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.12.0,
current version 5.12.7)


What is the reason for this?

If I change it to use the main copy of the Qt libraries will that break anything?

Glenn

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/9d0dda7f-e88d-df8b-3bc4-46681dd3d1d1%40componic.co.nz.

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/CAALvLtVjsMEJf22xRdP1omm72_iBfpWApQHs9isRu412MEDOnw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: QtWebEngineWidgets on MacOS

Bryan A. Jones-2
In reply to this post by Glenn Ramsey-2
Glenn,

Unfortunately, I don't own a Mac to develop on, so I can't help much here. I don't know why the webengine dylibs point to another version of Qt, either. Does this still happen when using the PyPI wheels? Or is this something unique to the self-build version you have?

Bryan

On Tue, Jun 2, 2020 at 9:30 PM Glenn Ramsey <[hidden email]> wrote:
Hi All,

Getting QtWebEngineWidgets packaged properly is complicated and people, myself
included, seem to still be having issues with it.

In my case it seems that the issue arises because I'm using versions of Qt5 and
PyQt5 that I built from source and I have got it to work as described here:

https://github.com/pyinstaller/pyinstaller/issues/2276#issuecomment-635781511

While looking into this I notice that many of the Qt libraries seem to be
duplicated.

The Qt dylibs that my app is linked to are in myapp.app/Contents/MacOS. E.g.
myapp.app/Contents/MacOS/QtCore. The PyQt libs in
myapp.app/Contents/MacOS/PyQt5/*.so are also linked with those dylibs e.g.

$otool -L PyQt5/QtCore.so
PyQt5/QtCore.so:
        @loader_path/../QtCore (compatibility version 5.12.0, current version 5.12.7)

QtWebEngineProcess.aps is located at

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app

but the way it's set up it will only work if it has its own private version of
the Qt libraries:

otool -L
PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess

PyQt5/Qt/lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:
        @rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebEngineCore.framework/Versions/5/QtWebEngineCore (compatibility
version 5.12.0, current version 5.12.7)
        @rpath/QtPositioning.framework/Versions/5/QtPositioning (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.12.0,
current version 5.12.7)
        @rpath/QtWebChannel.framework/Versions/5/QtWebChannel (compatibility version
5.12.0, current version 5.12.7)
        @rpath/QtQml.framework/Versions/5/QtQml (compatibility version 5.12.0, current
version 5.12.7)
        @rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.12.0,
current version 5.12.7)


What is the reason for this?

If I change it to use the main copy of the Qt libraries will that break anything?

Glenn

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/9d0dda7f-e88d-df8b-3bc4-46681dd3d1d1%40componic.co.nz.


--
Bryan A. Jones, Ph.D.
Assistant Professor
Department of Electrical and Computer Engineering
231 Simrall / PO Box 9571
Mississippi State University
Mississippi state, MS 39762
http://www.ece.msstate.edu/~bjones
bjones AT ece DOT msstate DOT edu
voice 662-325-3149
fax 662-325-2298

Our Master, Jesus Christ, is on his way. He'll show up right on
time, his arrival guaranteed by the Blessed and Undisputed Ruler,
High King, High God.
- 1 Tim. 6:14b-15 (The Message)

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/CAHhYbD_PYiDB9N0ANd4YA%2BkNhm0TopR-PybqjLr2iUdJgi%3DF0g%40mail.gmail.com.