Pin*_*nar 4 python multiprocessing jupyter-notebook
我是 python 新手,我有 Anaconda Pyton 3.9\n我正在研究多处理。
\n当我尝试这段代码时
\nfrom multiprocessing import Process # gerekli k\xc3\xbct\xc3\xbcphaneyi \xc3\xa7a\xc4\x9f\xc4\xb1raca\xc4\x9f\xc4\xb1z.\n\nimport time\n\ndef subfunc1():\n time.sleep(2)\n print("subfunc1: Baslatildi")\n time.sleep(2)\n print("subfunc1: Sonlandi")\n time.sleep(2)\n\ndef subfunc2():\n time.sleep(2)\n print("subfunc2: Baslatildi")\n time.sleep(2)\n print("subfunc2: Sonlandi")\n time.sleep(2)\n \ndef mainfunc():\n print("mainfunc: Baslatildi")\n pr1 = Process(target=subfunc1)\n pr2 = Process(target=subfunc2)\n pr1.start()\n pr2.start()\n print("mainfunc: Sonlandi")\n \nif __name__ == '__main__': # Main kod blo\xc4\x9funun i\xc3\xa7erisindeyken main fonk \xc3\xa7a\xc4\x9f\xc4\xb1r!\n mainfunc()\n\nresult is\n\n mainfunc: Baslatildi\n mainfunc: Sonlandi\nRun Code Online (Sandbox Code Playgroud)\n当我将 Visual Code 与 Python 3.9 结合使用时,我有一个虚拟环境并且代码可以工作!\nVisual Code 在虚拟环境中使用 Anaconda 的 python 3.9!
\n请你帮助我好吗?为什么这段代码在 Jupyter Notebook 中无法正常工作?
\n谢谢
\n我假设您在 ms-windows 或 macOS 上运行这个程序是否正确?
在这种情况下,multiprocessing它将无法在 IPython 等交互式解释器中工作。文档中对此进行了介绍,请参阅“注释”:
此包中的功能要求该
__main__模块可由子级导入。编程指南中对此进行了介绍,但值得在此指出。这意味着某些示例(例如multiprocessing.pool.Pool示例)将无法在交互式解释器中运行。
这是由这些操作系统上使用的spawn 启动方法引起的。
一种可能的解决方法是将代码保存在脚本中,并确保创建multiprocessing对象是在__main__-block 内完成的。另一个是下面亚伦的评论
| 归档时间: |
|
| 查看次数: |
1929 次 |
| 最近记录: |