Plugins/UiExtensionPlugins/PipInterface/Pip.py

changeset 6257
4523c5e6dd43
parent 6048
82ad8ec9548c
child 6290
bf4624957d2d
diff -r a148632e9610 -r 4523c5e6dd43 Plugins/UiExtensionPlugins/PipInterface/Pip.py
--- a/Plugins/UiExtensionPlugins/PipInterface/Pip.py	Tue Apr 17 19:11:51 2018 +0200
+++ b/Plugins/UiExtensionPlugins/PipInterface/Pip.py	Thu Apr 19 19:13:37 2018 +0200
@@ -439,10 +439,13 @@
         The selected pip executable is called with the given arguments and
         waited for its end.
         
-        @param args list of command line arguments (list of string)
-        @param cmd pip command to be used (string)
+        @param args list of command line arguments
+        @type list of str
+        @param cmd pip executable to be used
+        @type str
         @return tuple containing a flag indicating success and the output
-            of the process (string)
+            of the process
+        @rtype tuple of (bool, str)
         """
         if not cmd:
             cmd = self.__plugin.getPreferences("CurrentPipExecutable")
@@ -658,10 +661,19 @@
         if python:
             python = QDir.toNativeSeparators(python)
             dia = PipDialog(self.tr('Install PIP'))
-            res = dia.startProcesses([
-                (python, ["-m", "ensurepip"]),
-                (python, ["-m", "pip", "install", "--upgrade", "pip"]),
-            ])
+            commands = [(python, ["-m", "ensurepip"])]
+            if self.__plugin.getPreferences("PipSearchIndex"):
+                indexUrl = \
+                    self.__plugin.getPreferences("PipSearchIndex") + "/simple"
+                commands.append(
+                    (python,
+                     ["-m", "pip", "install", "--index-url", indexUrl,
+                      "--upgrade", "pip"]))
+            else:
+                commands.append(
+                    (python, ["-m", "pip", "install", "--upgrade", "pip"]))
+        
+            res = dia.startProcesses(commands)
             if res:
                 dia.exec_()
                 pip = E5FileDialog.getOpenFileName(
@@ -717,7 +729,13 @@
             else:
                 return False
         
-        args = ["-m", "pip", "install", "--upgrade", "pip"]
+        if self.__plugin.getPreferences("PipSearchIndex"):
+            indexUrl = \
+                self.__plugin.getPreferences("PipSearchIndex") + "/simple"
+            args = ["-m", "pip", "install", "--index-url", indexUrl,
+                    "--upgrade", "pip"]
+        else:
+            args = ["-m", "pip", "install", "--upgrade", "pip"]
         dia = PipDialog(self.tr('Upgrade PIP'))
         res = dia.startProcess(python, args)
         if res:
@@ -759,7 +777,13 @@
                 return False
         
         # pip install --ignore-installed pip
-        args = ["-m", "pip", "install", "--ignore-installed", "pip"]
+        if self.__plugin.getPreferences("PipSearchIndex"):
+            indexUrl = \
+                self.__plugin.getPreferences("PipSearchIndex") + "/simple"
+            args = ["-m", "pip", "install", "--index-url", indexUrl,
+                    "--ignore-installed", "pip"]
+        else:
+            args = ["-m", "pip", "install", "--ignore-installed", "pip"]
         dia = PipDialog(self.tr('Repair PIP'))
         res = dia.startProcess(python, args)
         if res:
@@ -849,7 +873,13 @@
         
         if not cmd:
             cmd = self.__plugin.getPreferences("CurrentPipExecutable")
-        args = ["install", "--upgrade"] + packages
+        if self.__plugin.getPreferences("PipSearchIndex"):
+            indexUrl = \
+                self.__plugin.getPreferences("PipSearchIndex") + "/simple"
+            args = ["install", "--index-url", indexUrl, "--upgrade"]
+        else:
+            args = ["install", "--upgrade"]
+        args += packages
         dia = PipDialog(self.tr('Upgrade Packages'))
         res = dia.startProcess(cmd, args)
         if res:
@@ -877,7 +907,13 @@
         """
         if not cmd:
             cmd = self.__plugin.getPreferences("CurrentPipExecutable")
-        args = ["install"] + packages
+        if self.__plugin.getPreferences("PipSearchIndex"):
+            indexUrl = \
+                self.__plugin.getPreferences("PipSearchIndex") + "/simple"
+            args = ["install", "--index-url", indexUrl]
+        else:
+            args = ["install"]
+        args += packages
         dia = PipDialog(self.tr('Install Packages'))
         res = dia.startProcess(cmd, args)
         if res:
@@ -908,7 +944,14 @@
                 if not command:
                     command = self.__plugin.getPreferences(
                         "CurrentPipExecutable")
-                args = ["install", "--requirement", requirements]
+                if self.__plugin.getPreferences("PipSearchIndex"):
+                    indexUrl = \
+                        self.__plugin.getPreferences("PipSearchIndex") + \
+                        "/simple"
+                    args = ["install", "--index-url", indexUrl]
+                else:
+                    args = ["install"]
+                args += ["--requirement", requirements]
                 dia = PipDialog(self.tr('Install Packages from Requirements'))
                 res = dia.startProcess(command, args)
                 if res:

eric ide

mercurial