【发布时间】:2020-08-28 20:06:17
【问题描述】:
我正在使用 python 多处理,它工作得很好,除非我需要绘制一些东西。代码的结构类似于
def Code(x,y):
do_something
plt.plot(X_values,Y_values)
if __name__ == '__main__':
pool = Pool(2)
pool.starmap(Code, Z)#Z is a tuple containing (0.015,0.02)
#Code(0.015,0.02)
当我使用注释部分调用 Code 函数时,它工作正常,但是当我使用 Pool 时没有显示绘图,另外我看不到我在 中打印的任何内容em>代码函数。 问题是什么?我该如何解决?
感谢任何评论。谢谢
PS:剧情只是为了验证一些结果,不是很复杂。此外,我相信 pool 工作正常,因为我正在将数据提取到 csv 文件中,并且一切似乎都正常,唯一的问题是当我尝试在 Code 中绘制一些东西时。
【问题讨论】:
-
您的环境是否设置为使用非 GUI 后端?通常,当您调用
plt.plot()之类的名称时,会弹出一个窗口,该窗口会阻止程序直到关闭,通常是单击左上角的“x”。这将阻止这些后台进程,直到图形关闭,您在此处无法执行此操作。
标签: python python-3.x matplotlib multiprocessing