scripts/install-server.py

branch
eric7
changeset 10801
5859861e7a1f
parent 10781
0e3d6e22efaf
child 10959
377ef1594e36
diff -r c6ce5522be30 -r 5859861e7a1f scripts/install-server.py
--- a/scripts/install-server.py	Tue Jun 25 14:44:19 2024 +0200
+++ b/scripts/install-server.py	Tue Jun 25 16:15:59 2024 +0200
@@ -35,6 +35,7 @@
 doCleanup = True
 doCompile = True
 doDepChecks = True
+proxy = None
 sourceDir = "eric"
 eric7SourceDir = ""
 
@@ -295,6 +296,8 @@
     @return flag indicating a successful installation
     @rtype bool
     """
+    global proxy
+
     ok = False
     if force:
         answer = "y"
@@ -307,17 +310,18 @@
         )
         answer = input()  # secok
     if answer in ("", "Y", "y"):
-        exitCode = subprocess.run(  # secok
-            [
-                sys.executable,
-                "-m",
-                "pip",
-                "install",
-                "--prefer-binary",
-                "--upgrade",
-                packageName,
-            ]
-        ).returncode
+        args = [
+            sys.executable,
+            "-m",
+            "pip",
+            "install",
+            "--prefer-binary",
+            "--upgrade",
+        ]
+        if proxy:
+            args.append(f"--proxy={proxy}")
+        args.append(packageName)
+        exitCode = subprocess.run(args).returncode  # secok
         ok = exitCode == 0
 
     return ok
@@ -330,10 +334,22 @@
     @return flag indicating an outdated pip
     @rtype bool
     """
+    global proxy
+
     try:
+        args = [
+            sys.executable,
+            "-m",
+            "pip",
+            "list",
+            "--outdated",
+            "--format=json",
+        ]
+        if proxy:
+            args.append(f"--proxy={proxy}")
         pipOut = (
             subprocess.run(  # secok
-                [sys.executable, "-m", "pip", "list", "--outdated", "--format=json"],
+                args,
                 check=True,
                 capture_output=True,
                 text=True,
@@ -364,17 +380,22 @@
     """
     Update the installed pip package.
     """
-    global yes2All
+    global proxy
 
-    if yes2All:
-        answer = "y"
-    else:
-        print("Shall 'pip' be updated (recommended)? (Y/n)", end=" ")
-        answer = input()  # secok
+    print("Shall 'pip' be updated (recommended)? (Y/n)", end=" ")
+    answer = input()  # secok
     if answer in ("", "Y", "y"):
-        subprocess.run(  # secok
-            [sys.executable, "-m", "pip", "install", "--upgrade", "pip"]
-        )
+        args = [
+            sys.executable,
+            "-m",
+            "pip",
+            "install",
+            "--upgrade",
+        ]
+        if proxy:
+            args.append(f"--proxy={proxy}")
+        args.append("pip")
+        subprocess.run(args)  # secok
 
 
 def doDependancyChecks():
@@ -544,6 +565,12 @@
         action="store_false",
         help="don't perform dependency checks (use on your own risk)",
     )
+    parser.add_argument(
+        "--proxy",
+        default=None,
+        metavar="url",
+        help="HTTP proxy url will be used with pip (default: no proxy used)",
+    )
 
     return parser
 
@@ -555,11 +582,11 @@
     @param argv the list of command line arguments
     @type list of str
     """
-    global modDir, doCleanup, doCompile, doDepChecks, distDir, scriptsDir
+    global modDir, doCleanup, doCompile, doDepChecks, distDir, scriptsDir, proxy
     global sourceDir, eric7SourceDir
 
     if sys.version_info < (3, 8, 0) or sys.version_info >= (4, 0, 0):
-        print("Sorry, the eric debugger requires Python 3.8 or better for running.")
+        print("Sorry, the eric-ide serverr requires Python 3.8 or better for running.")
         exit(5)
 
     if os.path.dirname(argv[0]):
@@ -575,6 +602,7 @@
     doDepChecks = args.x
     doCleanup = args.c
     doCompile = args.z
+    proxy = args.proxy
     if not sys.platform.startswith(("win", "cygwin")) and args.i:
         distDir = os.path.normpath(args.i)
 

eric ide

mercurial