[過去ログ] くだすれPython(超初心者用) その37 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
150(4): 2018/03/31(土)01:31 ID:HKQg3i4s(1/3) AAS
windows10
python 3.6.4です
multiprocessingについて教えていただけないでしょうか?
外部リンク[html]:docs.python.jp
↑を見て例題にある
from multiprocessing import Process
def f(name):
print('hello', name)
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
をやってみましたが
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
というエラーがでて動きません。
いくつか他のもマルチプルプロセッシングがあるものをコピペしたりしてみたのですが
だいたいp.startのあたりでエラー出ます。
windowsではサポートしてない所があって動かないんでしょうか?
どうしたらwindowsで動くようになりますか?
151: 2018/03/31(土)01:59 ID:uh3Jaudz(1) AAS
>>150
普通に*.pyファイルに保存して、VisualStudioデバッガやPowerShellから動かせたけど・・・
対話モードだとダメっぽいね
153: 150 2018/03/31(土)22:04 ID:HKQg3i4s(2/3) AAS
>>152
import しない限り__name__の中身って__main__になるんじゃなかったですっけ???
155: 150 2018/03/31(土)22:52 ID:HKQg3i4s(3/3) AAS
>>154
メインでますね。
>>> print(__name__)
__main__
158: 150 2018/04/01(日)14:36 ID:PqizwVxV(1) AAS
>>157
いたるところにglobal f 入れてみましたがpythonコマンドにコピペすると
動かないですね
def fのところの___name__調べてみましたが
あるところだけ__main__になってないですね・・・
sub=__main__ #ほかのdefをifの中で名前()で呼び出した場合
hello bob
mp=__mp_main__ #def fの中
mein=__main__ #ifの中
かといってif無しでやっても
おんなじエラー出ます。
とりあえず、.py保存してから実行なら動くから実際問題はないのかな?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.056s