Description
Pyside2, in its current form, installs (depends?) QtTest.so into the PySide2 site-package which in turn depends upon Apple's Xcode XCTest framework. This transitive dependency breaks Qt Application bundles on macOS because a proper bundle needs to ensure that all dynamic loader dependencies are available, including Xcode's XCTest, either in the bundle or on the system during the Qt executable loader/launch phase which is not necessarily the case (can't assume Xcode is installed nor should one copy Apple's proprietary framework to the bundle). The QtTest (or XCTest) dependency should be eliminated from PySide to facilitate Qt application bundling, at a minimum when built with -DBUILD_TESTS=OFF"
# PySide site-package contents ls -1 /usr/local//lib/python2.7/site-packages/PySide2/ QtConcurrent.so QtCore.so QtGui.so QtHelp.so QtMultimedia.so QtNetwork.so QtOpenGL.so QtPrintSupport.so QtQml.so QtQuick.so QtQuickWidgets.so QtScript.so QtScriptTools.so QtSql.so QtSvg.so QtTest.so QtUiTools.so QtWebChannel.so QtWebEngineWidgets.so QtWebKit.so QtWebKitWidgets.so QtWebSockets.so QtWidgets.so QtXml.so QtXmlPatterns.so __init__.py __init__.pyc _utils.py _utils.pyc # QtTest.so library dependencies $ otool -L /usr/local//lib/python2.7/site-packages/PySide2/QtTest.so /usr/local//lib/python2.7/site-packages/PySide2/QtTest.so: @rpath/libpyside2.2.0.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/local/opt/shiboken/lib/libshiboken2.2.0.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/local/opt/qt@5.6/lib/QtTest.framework/Versions/5/QtTest (compatibility version 5.6.0, current version 5.6.2) /usr/local/opt/qt@5.6/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.6.0, current version 5.6.2) /usr/local/opt/qt@5.6/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.6.0, current version 5.6.2) /usr/local/opt/qt@5.6/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.6.0, current version 5.6.2) /usr/local/opt/qt@5.6/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.6.0, current version 5.6.2) /usr/local/opt/qt@5.6/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.6.0, current version 5.6.2) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2) # QtTest framework dependencies $ otool -L /usr/local/opt/qt@5.6/lib/QtTest.framework/Versions/5/QtTest /usr/local/opt/qt@5.6/lib/QtTest.framework/Versions/5/QtTest: /usr/local/opt/qt@5.6/lib/QtTest.framework/Versions/5/QtTest (compatibility version 5.6.0, current version 5.6.2) @rpath/XCTest.framework/Versions/A/XCTest (compatibility version 1.0.0, current version 11753.0.0) /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57740.31.2) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.25.0) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0) /usr/local/Cellar/qt@5.6/5.6.2/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.6.0, current version 5.6.2) /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1348.28.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) #Apple's XCTest dependencies $ otool -L /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/XCTest /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/XCTest: @rpath/XCTest.framework/Versions/A/XCTest (compatibility version 1.0.0, current version 12124.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.82.103) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0) /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation (compatibility version 1.0.0, current version 104.25.0) @rpath/DTXConnectionServices.framework/Versions/A/DTXConnectionServices (compatibility version 1.0.0, current version 62078.0.0) @rpath/DVTInstrumentsFoundation.framework/Versions/A/DVTInstrumentsFoundation (compatibility version 1.0.0, current version 62078.0.0) @rpath/SymbolicationDT.framework/Versions/A/SymbolicationDT (compatibility version 1.0.0, current version 62050.0.0) /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication (compatibility version 1.0.0, current version 62046.0.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.63.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.64.0) /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.21.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 775.19.0) /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO (compatibility version 1.0.0, current version 1.0.0)