Closed
Description
Bug report
Bug description:
Bug in def main()
: https://github.com/python/cpython/blob/main/Lib/multiprocessing/forkserver.py#L167
The param sys_path
is ignored. Result: ModuleNotFoundError
for preloaded modules.
a) Using sys_path
fixes this issue
b) Maybe better remove "pass" and report and error to simplify problem solving
if preload:
if '__main__' in preload and main_path is not None:
process.current_process()._inheriting = True
try:
spawn.import_main_path(main_path)
finally:
del process.current_process()._inheriting
+ if sys_path:
+ sys.path = sys_path
for modname in preload:
try:
__import__(modname)
except ImportError:
- pass
+ warnings.warn('forkserver: preloading module failed %s' % modname)
CPython versions tested on:
3.12
Operating systems tested on:
No response
Linked PRs
- gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. #126538
- [3.13] gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. (GH-126538) #126632
- [3.12] gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. (GH-126538) #126633
- gh-117378: Clear up the NEWS entry wording #126634
- gh-117378: Only run the new multiprocessing SysPath test when appropriate #126635
- [3.13] gh-117378: Only run the new multiprocessing SysPath test when appropriate (GH-126635) #126652
- [3.12] gh-117378: Only run the new multiprocessing SysPath test when appropriate (GH-126635) #126653
- [3.13] gh-117378: Clear up the NEWS entry wording (GH-126634) #126668
- [3.12] gh-117378: Clear up the NEWS entry wording (GH-126634) #126669
Metadata
Metadata
Assignees
Labels
Projects
Status
Done