scripts/install.py

branch
eric7
changeset 10868
ca5cd7faaf5e
parent 10864
8917b1a45546
child 10873
4e8e63df7893
child 10886
e46fcabe7a3f
equal deleted inserted replaced
10867:75160699ac5a 10868:ca5cd7faaf5e
10 """ 10 """
11 11
12 import argparse 12 import argparse
13 import compileall 13 import compileall
14 import contextlib 14 import contextlib
15 import copy
15 import datetime 16 import datetime
16 import fnmatch 17 import fnmatch
17 import getpass 18 import getpass
18 import glob 19 import glob
19 import importlib 20 import importlib
1738 "esprima": ("esprima", ""), 1739 "esprima": ("esprima", ""),
1739 "fido2": ("fido2", ""), 1740 "fido2": ("fido2", ""),
1740 } 1741 }
1741 if withPyqt6Tools: 1742 if withPyqt6Tools:
1742 optionalModulesList["qt6-applications"] = ("qt6_applications", "") 1743 optionalModulesList["qt6-applications"] = ("qt6_applications", "")
1744 optionalWinModulesList = {
1745 # key is pip project name
1746 # value is tuple of package name, pip install constraint
1747 "pywin32": ("win32com", ">=1.0"),
1748 "command-runner": ("command_runner", ""),
1749 }
1743 1750
1744 # check mandatory PyQt6 modules 1751 # check mandatory PyQt6 modules
1745 modulesOK = True 1752 modulesOK = True
1746 for pyqt6BaseModule in sorted(pyqt6BaseModulesList): 1753 for pyqt6BaseModule in sorted(pyqt6BaseModulesList):
1747 name = pyqt6BaseModule.split(".")[1] 1754 name = pyqt6BaseModule.split(".")[1]
1784 1791
1785 # check optional modules 1792 # check optional modules
1786 print("\nOptional Packages") 1793 print("\nOptional Packages")
1787 print("-----------------") 1794 print("-----------------")
1788 optionalMissing = False 1795 optionalMissing = False
1789 for optPackage in sorted(optionalModulesList): 1796 optModulesDict = copy.deepcopy(optionalModulesList)
1797 if sys.platform.startswith(("win", "cygwin")):
1798 optModulesDict.update(optionalWinModulesList)
1799 for optPackage in sorted(optModulesDict):
1790 try: 1800 try:
1791 importlib.import_module(optionalModulesList[optPackage][0]) 1801 importlib.import_module(optModulesDict[optPackage][0])
1792 print("Found", optPackage) 1802 print("Found", optPackage)
1793 except ImportError as err: 1803 except ImportError as err:
1794 if isSudo: 1804 if isSudo:
1795 print("Optional '{0}' could not be detected.".format(optPackage)) 1805 print("Optional '{0}' could not be detected.".format(optPackage))
1796 optionalMissing = True 1806 optionalMissing = True
1797 else: 1807 else:
1798 msg = "Optional '{0}' could not be detected.{1}".format( 1808 msg = "Optional '{0}' could not be detected.{1}".format(
1799 optPackage, "\nError: {0}".format(err) if verbose else "" 1809 optPackage, "\nError: {0}".format(err) if verbose else ""
1800 ) 1810 )
1801 pipInstall(optPackage + optionalModulesList[optPackage][1], msg) 1811 pipInstall(optPackage + optModulesDict[optPackage][1], msg)
1802 if optionalMissing: 1812 if optionalMissing:
1803 print("Some optional packages are missing and could not be installed.") 1813 print("Some optional packages are missing and could not be installed.")
1804 print("Install them manually with:") 1814 print("Install them manually with:")
1805 print(" {0} install-dependencies.py --optional".format(sys.executable)) 1815 print(" {0} install-dependencies.py --optional".format(sys.executable))
1806 1816

eric ide

mercurial