私はマルチプロセッシングライブラリのドキュメントをPythonで使っていました。目的の出力を与えないマルチプロセッシングの例python3
これは私が実行しようとしていますどのような例です。
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
例は、以下のリンクから取得されます:Multiprocessing Doc
上記のプログラムを実行している間、私は次のエラーを取得しています:
Process SpawnPoolWorker-1:
Traceback (most recent call last):
File "C:\Python35\lib\multiprocessing\process.py", line 254, in _bootstrap
self.run()
File "C:\Python35\lib\multiprocessing\process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "C:\Python35\lib\multiprocessing\pool.py", line 108, in worker
task = get()
File "C:\Python35\lib\multiprocessing\queues.py", line 345, in get
return ForkingPickler.loads(res)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
Process SpawnPoolWorker-3:
Traceback (most recent call last):
File "C:\Python35\lib\multiprocessing\process.py", line 254, in _bootstrap
self.run()
File "C:\Python35\lib\multiprocessing\process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "C:\Python35\lib\multiprocessing\pool.py", line 108, in worker
task = get()
Process SpawnPoolWorker-5:
File "C:\Python35\lib\multiprocessing\queues.py", line 345, in get
return ForkingPickler.loads(res)
Traceback (most recent call last):
File "C:\Python35\lib\multiprocessing\process.py", line 254, in _bootstrap
self.run()
File "C:\Python35\lib\multiprocessing\process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "C:\Python35\lib\multiprocessing\pool.py", line 108, in worker
task = get()
File "C:\Python35\lib\multiprocessing\queues.py", line 345, in get
return ForkingPickler.loads(res)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
また、プロセスも終了しません。 Enterキーを押すと、pythonがクラッシュしますが、プログラムはまだオンになっています。
問題を解決するために必要なことを教えてください。
あなたのプログラムを保存したファイルの名前は何ですか? –
私はプログラムをファイルに保存しました。私は直接Pythonシェルからプログラムを実行しました。 –
あなたのプログラムを保存したファイルの名前は何ですか? –