multiprocessing/spawn.py“, line 116, in spawn_main exitcode = _main(fd, parent_sentinel)

本文介绍了在Mac上运行Python代码时遇到的multiprocessing.spawn.spawn_main错误。问题根源在于MAC默认使用fork启动进程,而Python默认采用spawn方式。为解决此问题,可以在主函数中通过`from multiprocessing import set_start_method`并调用`set_start_method('fork')`来修改启动方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python 在Mac上执行代码报错:multiprocessing/spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)

原因:MAC电脑默认启动进程的方式是fork,而python默认的方式是spawn,所以需要将python启动进程的方式做修改

处理方式: from multiprocessing import set_start_method

main() 中加入
set_start_method(‘fork’)

Build start time: 18:59:52, Mar.22 2025 WORKSPACE = /home/user/桌面/edk2 EDK_TOOLS_PATH = /home/user/桌面/edk2/BaseTools CONF_PATH = /home/user/桌面/edk2/Conf PYTHON_COMMAND = python3 Processing meta-data . Architecture(s) = X64 Build target = DEBUG Toolchain = GCC5 Active Platform = /home/user/桌面/edk2/ShellPkg/ShellPkg.dsc ....Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "/usr/lib/python3.8/multiprocessing/spawn.py", line 126, in _main self = reduction.pickle.load(from_parent) File "/usr/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__ self._semlock = _multiprocessing.SemLock._rebuild(*state) PermissionError: [Errno 13] Permission denied Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "/usr/lib/python3.8/multiprocessing/spawn.py", line 126, in _main self = reduction.pickle.load(from_parent) File "/usr/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__ self._semlock = _multiprocessing.SemLock._rebuild(*state) PermissionError: [Errno 13] Permission denied Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "/usr/lib/python3.8/multiprocessing/spawn.py", line 126, in _main self = reduction.pickle.load(from_parent) File "/usr/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__ self._semlock = _multiprocessing.SemLock._rebuild(*state) PermissionError: [Errno 13] Permission denied Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "/usr/lib/python3.8/multiprocessing/spawn.py", line 126, in _main self = reduction.pickle.load(from_parent) File "/usr/lib/python3.8/multiprocessing/synchronize.py", line 110, in __setstate__ self._semlock = _multiprocessing.SemLock._rebuild(*state) PermissionError: [Errno 13] Permission denied
最新发布
03-23
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值