当执行
set_start_method('fork')
或
get_context('fork')
有如下错误:
ValueError: cannot find context for 'fork'
是因为 multiprocessing 支持三种启动进程的方法。fork
启动方法不支持 Windows, 换成 spawn
即可。
这些启动方法有:
- spawn: 在 POSIX 和 Windows 平台上可用。 默认在 Windows 和 macOS 上。
- fork: 在 POSIX 系统上可用。 目前在除 macOS 之外的 POSIX 上为默认值。
- forkserver: 在支持通过 Unix 管道传递文件描述符的 POSIX 平台上可用,例如 Linux。
参考官方文档:
https://docs.python.org/zh-cn/3/library/multiprocessing.html#multiprocessing-start-methods