mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
gh-90876: Restore the ability to import multiprocessing when sys.executable
is None
(#106464)
Prevent `multiprocessing.spawn` from failing to *import* in environments where `sys.executable` is `None`. This regressed in 3.11 with the addition of support for path-like objects in multiprocessing. Adds a test decorator to have tests only run when part of test_multiprocessing_spawn to `_test_multiprocessing.py` so we can start to avoid re-running the same not-global-state specific test in all 3 modes when there is no need.
This commit is contained in:
parent
76fac7bce5
commit
c60df361ce
3 changed files with 83 additions and 8 deletions
|
@ -31,11 +31,13 @@ if sys.platform != 'win32':
|
|||
WINSERVICE = False
|
||||
else:
|
||||
WINEXE = getattr(sys, 'frozen', False)
|
||||
WINSERVICE = sys.executable.lower().endswith("pythonservice.exe")
|
||||
WINSERVICE = sys.executable and sys.executable.lower().endswith("pythonservice.exe")
|
||||
|
||||
def set_executable(exe):
|
||||
global _python_exe
|
||||
if sys.platform == 'win32':
|
||||
if exe is None:
|
||||
_python_exe = exe
|
||||
elif sys.platform == 'win32':
|
||||
_python_exe = os.fsdecode(exe)
|
||||
else:
|
||||
_python_exe = os.fsencode(exe)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue