--- a/scripts/install.py Sun Feb 21 12:28:58 2021 +0100 +++ b/scripts/install.py Sun Feb 21 12:53:26 2021 +0100 @@ -1451,7 +1451,7 @@ from PyQt5.QtCore import qVersion except ImportError as msg: installed = not isSudo and pipInstall( - "PyQt5", + "PyQt5>=5.12.1,<5.15.2", "'PyQt5' could not be detected.\nError: {0}".format(msg) ) if installed: @@ -1487,7 +1487,7 @@ print("Optional 'PyQtWebEngine' could not be detected.") else: pipInstall( - "PyQtWebEngine", + "PyQtWebEngine>=5.12.1,<5.15.2", "Optional 'PyQtWebEngine' could not be detected.\n" "Error: {0}".format(msg) ) @@ -1499,7 +1499,7 @@ print("Optional 'PyQtChart' could not be detected.") else: pipInstall( - "PyQtChart", + "PyQtChart>=5.12.1,<5.15.2", "Optional 'PyQtChart' could not be detected.\n" "Error: {0}".format(msg) ) @@ -1537,8 +1537,10 @@ (("PyQt5.QtWebEngineWidgets", ), sys.maxsize <= 2**32), ] optionalModulesList = {} + # dict with tuples of package name and install constraint if sys.platform != "darwin" and not ignorePyqt5Tools: - optionalModulesList["qt5-applications"] = "qt5_applications" + optionalModulesList["qt5-applications"] = ("qt5_applications", + "<5.15.2") # check mandatory modules modulesOK = True @@ -1576,7 +1578,7 @@ # check optional modules for optPackage in optionalModulesList: try: - __import__(optionalModulesList[optPackage]) + __import__(optionalModulesList[optPackage][0]) print("Found", optPackage) except ImportError as msg: if isSudo: @@ -1584,7 +1586,7 @@ .format(optPackage)) else: pipInstall( - optPackage, + optPackage + optionalModulesList[optPackage][1], "Optional '{0}' could not be detected.\n" "Error: {1}".format(optPackage, msg) )