--- a/eric6/PluginManager/PluginManager.py Wed May 05 18:17:24 2021 +0200 +++ b/eric6/PluginManager/PluginManager.py Wed May 05 19:59:47 2021 +0200 @@ -422,6 +422,9 @@ self.__onDemandInactiveModules[name] = module module.eric6PluginModuleName = name module.eric6PluginModuleFilename = fname + if hasattr(module, "installDependencies"): + # ask the module to install its dependencies + module.installDependencies(self.pipInstall) self.__modulesCount += 1 if reload_: importlib.reload(module) @@ -1416,6 +1419,22 @@ hasattr(module, "clearPrivateData") ): module.clearPrivateData() + + ######################################################################## + ## Methods to install a plug-in module dependency via pip + ######################################################################## + + def pipInstall(self, packageName): + """ + Public method to install the given package via pip. + + @param packageName name of the package to be installed + @type str + @return flag indicating a successful installation + @rtype bool + """ + # TODO: implement this + return False # # eflag: noqa = M801