--- a/scripts/install.py Mon Oct 31 14:07:57 2022 +0100 +++ b/scripts/install.py Wed Nov 30 09:19:51 2022 +0100 @@ -13,8 +13,10 @@ import contextlib import datetime import fnmatch +import getopt import getpass import glob +import importlib import io import json import os @@ -1213,10 +1215,10 @@ if os.path.exists(os.path.join("eric", "eric7", "UI", "Info.py")): # Installing from archive - from eric.eric7.UI.Info import Version, CopyrightShort + from eric.eric7.UI.Info import CopyrightShort, Version elif os.path.exists(os.path.join("eric7", "UI", "Info.py")): # Installing from source tree - from eric7.UI.Info import Version, CopyrightShort + from eric7.UI.Info import CopyrightShort, Version else: Version = "Unknown" CopyrightShort = "(c) 2002 - 2022 Detlev Offenbach" @@ -1698,6 +1700,7 @@ "cyclonedx-bom": ("cyclonedx_py", ""), "trove-classifiers": ("trove_classifiers", ""), "black": ("black", ">=22.6.0"), + "isort": ("isort", ">=5.10.0"), } optionalModulesList = { # key is pip project name @@ -1718,7 +1721,7 @@ for pyqt6BaseModule in pyqt6BaseModulesList: name = pyqt6BaseModule.split(".")[1] try: - __import__(pyqt6BaseModule) + importlib.import_module(pyqt6BaseModule) print("Found", name) except ImportError as err: print("Sorry, please install {0}.".format(name)) @@ -1732,7 +1735,7 @@ requiredMissing = False for requiredPackage in requiredModulesList: try: - __import__(requiredModulesList[requiredPackage][0]) + importlib.import_module(requiredModulesList[requiredPackage][0]) print("Found", requiredPackage) except ImportError as err: if isSudo: @@ -1756,7 +1759,7 @@ optionalMissing = False for optPackage in optionalModulesList: try: - __import__(optionalModulesList[optPackage][0]) + importlib.import_module(optionalModulesList[optPackage][0]) print("Found", optPackage) except ImportError as err: if isSudo: @@ -1964,7 +1967,7 @@ @rtype any """ try: - import winreg + import winreg # __IGNORE_WARNING_I103__ except ImportError: return None @@ -1988,8 +1991,8 @@ @param iconPath path of the icon file @type str """ + from pywintypes import com_error from win32com.client import Dispatch - from pywintypes import com_error with contextlib.suppress(com_error): shell = Dispatch("WScript.Shell") @@ -2073,8 +2076,6 @@ @param argv list of command line arguments @type list of str """ - import getopt - # Parse the command line. global progName, modDir, doCleanup, doCompile, distDir, cfg, apisDir global sourceDir, eric7SourceDir, configName @@ -2316,4 +2317,4 @@ raise # -# eflag: noqa = M801 +# eflag: noqa = M801, I101, I102