--- a/src/eric7/MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py Tue Oct 29 10:59:48 2024 +0100 +++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py Tue Oct 29 14:20:50 2024 +0100 @@ -148,7 +148,7 @@ pip = ericApp().getObject("Pip") pip.installPackages( - ["circup"], interpreter=PythonUtilities.getPythonExecutable() + ["circup>=2.0.0"], interpreter=PythonUtilities.getPythonExecutable() ) circup = importlib.import_module("circup") @@ -361,12 +361,14 @@ Private method to perform the update of a list of modules. @param modules list of modules to be updated - @type circup.Module + @type circup.module.Module """ + backend = circup.DiskBackend(self.__device.getWorkspace(), circup.logger) + updatedModules = [] for module in modules: try: - module.update() + backend.update(module) updatedModules.append(module.name) except Exception as ex: EricMessageBox.critical( @@ -503,14 +505,14 @@ if codeFile: if os.path.exists(codeFile): with EricOverrideCursor(): - availableModules = circup.get_bundle_versions( + availableModules = circup.command_utils.get_bundle_versions( circup.get_bundles_list() ) moduleNames = {} for module, metadata in availableModules.items(): moduleNames[module.replace(".py", "")] = metadata - modules = circup.libraries_from_imports(codeFile, moduleNames) + modules = circup.libraries_from_code_py(codeFile, moduleNames) if modules: self.__installModules(modules) else: