【问题标题】:Python multi-processing processes not startingPython多处理进程未启动
【发布时间】:2020-08-30 02:46:30
【问题描述】:

我是多处理的新手,但我什至无法启动这些进程。即使是来自python's documentation 的以下代码 sn-p 也不会打印任何内容

from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

我经历了这个similar question,他们的解决方案对我不起作用。

我在 Jupyter Notebook 上运行 python 3.8.2

【问题讨论】:

  • 在 jupyter notebook 之外它运行良好,正如预期的那样。
  • 我在 jupyter notebook 下运行,jupyter 日志有错误,(它没有达到你的预期。)
  • 正如@RufusVS 所说,多处理在jupyter 中不起作用。
  • 是的!我现在在外面用控制台试了一下,效果很好,谢谢:)

标签: python jupyter-notebook multiprocessing


【解决方案1】:

https://docs.python.org/3/library/multiprocessing.html

此包中的功能要求 ma​​in 模块是 孩子们可以导入。这在编程指南中有介绍 但是值得在这里指出。这意味着一些例子, 比如 multiprocessing.pool.Pool 的例子在 交互式解释器。

尝试通过控制台将其作为 .py 脚本执行。

【讨论】:

    【解决方案2】:

    我用最新版本的Anaconda 2020.11安装了python Jupyter Notebook 6.1.4、JupterLab 2.26、Spyder 4.1.5等,都无法运行Process().start()调用的函数,也不报错。

    CMD.exe Prompt 可以运行 .py 文件中的 Process 函数就好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2014-02-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多