install.py: added code section to check for and install optional packages (like pyqt5-tools).

Sat, 03 Oct 2020 17:10:01 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 03 Oct 2020 17:10:01 +0200
changeset 7745
43888e12e481
parent 7744
19b701493dc6
child 7746
12d5e1e6abd1

install.py: added code section to check for and install optional packages (like pyqt5-tools).

scripts/install.py file | annotate | diff | comparison | revisions
--- a/scripts/install.py	Sat Oct 03 16:55:42 2020 +0200
+++ b/scripts/install.py	Sat Oct 03 17:10:01 2020 +0200
@@ -1479,6 +1479,9 @@
         # available (e.g. for 32-Bit Windows)
         (("PyQt5.QtWebEngineWidgets", ), sys.maxsize <= 2**32),
     ]
+    optionalModulesList = {
+        "pyqt5-tools": "pyqt5_tools",
+    }
     # check mandatory modules
     modulesOK = True
     for impModule in impModulesList:
@@ -1512,6 +1515,17 @@
                       .format(" or ".join(altModules)))
         if not altModulesOK:
             exit(1)
+    # check optional modules
+    for optPackage in optionalModulesList:
+        try:
+            __import__(optionalModulesList[optPackage])
+            print("Found", optPackage)
+        except ImportError as msg:
+            installed = pipInstall(
+                optPackage,
+                "Optional '{0}' could not be detected.\nError: {1}"
+                .format(optPackage, msg)
+            )
     
     # determine the platform dependent black list
     if sys.platform.startswith(("win", "cygwin")):

eric ide

mercurial