【Python】Python3 Windows環境で「module ‘os’ has no attribute ‘fork’」エラーが出た時の対応
Python3 の Windows 環境ではos.fork モジュールが無い。そのため multiprocessing を使うなどして置き換える必要があります。
目次
os.fork を使った場合
import os
print('Process (%s) start...' % os.getpid())
pid = os.fork()
if pid == 0:
print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()))
else:
print('I (%s) just created a child process (%s).' % (os.getpid(), pid))
multiprocessing を使った場合
from multiprocessing import Process
import os
def run_proc(name):
print('Run child process %s (%s)...' % (name, os.getpid()))
print('Parent process %s.' % os.getpid())
p = Process(target=run_proc, args=('test',))
print('start child process.')
p.start()
p.join()
print('end child process.')
これで動作します。