This is a terrible hack. PySide2 fails to build with Qt5 (even on Py3.11) because shiboken can't find private interfaces for QtQuick widgets. Brute-force the necessary include paths to make the build work. --- ./sources/pyside2/cmake/Macros/PySideModules.cmake.orig 2023-09-27 23:51:40.096157231 -0400 +++ ./sources/pyside2/cmake/Macros/PySideModules.cmake 2023-09-27 23:52:19.825408838 -0400 @@ -93,7 +93,7 @@ # Contains include directories to pass to shiboken's preprocessor. # Workaround: Added ${QT_INCLUDE_DIR}/QtCore until # qtdeclarative/8d560d1bf0a747bf62f73fad6b6774095442d9d2 has reached qt5.git - string(REPLACE ";" ${PATH_SEP} core_includes "${Qt5Core_INCLUDE_DIRS}") + string(REPLACE ";" ${PATH_SEP} core_includes "${Qt5Core_INCLUDE_DIRS};${Qt5Quick_PRIVATE_INCLUDE_DIRS}") set(shiboken_include_dirs ${pyside2_SOURCE_DIR}${PATH_SEP}${QT_INCLUDE_DIR}${PATH_SEP}${core_includes}) set(shiboken_framework_include_dirs_option "") if(CMAKE_HOST_APPLE)