using sip-wheel on MacOS
Steve Borho
steve at borho.org
Tue Apr 28 18:49:15 BST 2020
> On Apr 28, 2020, at 3:58 AM, Phil Thompson <phil at riverbankcomputing.com> wrote:
>
> On 28/04/2020 04:55, Steve Borho wrote:
>> Hello,
>> On Linux and Windows I can use sip-wheel to build binary wheels that
>> will gladly use the Qt libraries packaged by PyQt5, by compiling
>> against the same local version of Qt.
>> But when I try this on Mac, it is linking in the full paths to the
>> local (homebrew) Qt libraries
>> $ otool -L foo.cpython-37m-darwin.so
>> foo.cpython-37m-darwin.so:
>> /usr/local/opt/qt/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport
>> (compatibility version 5.14.0, current version 5.14.1)
>> /usr/local/opt/qt/lib/QtOpenGL.framework/Versions/5/QtOpenGL
>> (compatibility version 5.14.0, current version 5.14.1)
>> /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets
>> (compatibility version 5.14.0, current version 5.14.1)
>> /usr/local/opt/qt/lib/QtDataVisualization.framework/Versions/5/QtDataVisualization
>> (compatibility version 5.14.0, current version 5.14.1)
>> /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui (compatibility
>> version 5.14.0, current version 5.14.1)
>> I see that sip-wheel has an option for:
>> --target-qt-dir DIR the Qt libraries will be found in DIR when the wheel
>> is installed
>> but it is not clear how to target the PyQt5 packaged Qt libraries.
>> Has anyone else tackled this? Thanks
>
> Assuming you are going to package a Qt installation with your wheel using pyqt-bundle at a later stage then pass '--target-qt-dir Qt/lib'.
>
> This will be documented in the next release of the PyQt docs.
Ideally the binaries in the wheel would use the Qt libraries in ../PyQt5/Qt/lib/* from site-packages.
Does my app need to package its own copy of the Qt libraries if it compiles its own shared library?
I just realized my Linux wheels have the same issue. They are not using PyQt5/Qt/lib, they are relying on the Qt libraries being present where they were compiled.
Thanks,
Steve Borho
More information about the PyQt
mailing list