eric6/PluginManager/PluginManager.py

changeset 8292
54b48d756b0a
parent 8268
6b8128e0c9d1
child 8293
cad568796748
diff -r 3d79b1e5bf3c -r 54b48d756b0a eric6/PluginManager/PluginManager.py
--- 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

eric ide

mercurial