File: min-compileall.diff

package info (click to toggle)
python3.13 3.13.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 121,328 kB
  • sloc: python: 704,014; ansic: 653,914; xml: 31,250; sh: 5,844; cpp: 4,326; makefile: 1,981; objc: 787; lisp: 502; javascript: 213; asm: 75; csh: 12
file content (23 lines) | stat: -rw-r--r-- 923 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Description: Avoid tripping over the multiprocessing import in compileall
 Minimal includes compileall but not multiprocessing.
Forwarded: not-needed
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -97,10 +97,13 @@
     files = _walk_dir(dir, quiet=quiet, maxlevels=maxlevels)
     success = True
     if workers != 1 and ProcessPoolExecutor is not None:
-        import multiprocessing
-        if multiprocessing.get_start_method() == 'fork':
-            mp_context = multiprocessing.get_context('forkserver')
-        else:
+        try:
+            import multiprocessing
+            if multiprocessing.get_start_method() == 'fork':
+                mp_context = multiprocessing.get_context('forkserver')
+            else:
+                mp_context = None
+        except ImportError:
             mp_context = None
         # If workers == 0, let ProcessPoolExecutor choose
         workers = workers or None