<p>我尝试使用命令行和IDE(特别是<code>Spyder</code>)执行您的脚本,我可以观察到以下行为差异</p>
<p>当我使用包含您的代码的<code>python3 mp.py</code>命令行执行脚本时,我可以看到预期的输出:</p>
<pre><code>Finished in 0.0 seconds
Sleeping 2 second(s)...
Finished in 0.0 seconds
Sleeping 2 second(s)...
Finished in 0.0 seconds
Sleeping 2 second(s)...
Finished in 0.0 seconds
Sleeping 2 second(s)...
Finished in 0.0 seconds
Sleeping 2 second(s)...
Done sleeping...
Done sleeping...
Done sleeping...
Done sleeping...
Done sleeping...
Finished in 3.7699832916259766 seconds
</code></pre>
<p>当我使用<code>Spyder</code>IDE中的<code>Run</code>按钮执行相同的脚本时,我只看到以下输出:</p>
<pre><code>Finished in 2.8714535236358643 seconds
</code></pre>
<p>我试图寻找行为上的差异,发现了几个描述这种行为的线索</p>
<p><a href="https://stackoverflow.com/questions/48078722/no-multiprocessing-print-outputs-spyder">no-multiprocessing-print-outputs-spyder</a></p>
<p>还有一个关于Windows的特定注释:</p>
<blockquote>
<p>That printing with multiprocessing on Windows doesn't work as expected</p>
</blockquote>
<p>此外,一些IDE需要额外的配置,如<a href="https://stackoverflow.com/questions/37575120/no-output-from-process-using-multiprocessing">^{<cd5>}</a>所述</p>
<p>基于以上观察,我建议尝试通过命令行运行脚本,以验证脚本本身是否按预期工作,并尝试查看IDE中是否需要任何其他配置来使其工作</p>