【发布时间】:2020-03-02 12:33:16
【问题描述】:
我正在尝试运行以下代码。如果在 shell 中执行,它可以工作,但如果作为宏(py macro.py)执行会崩溃。请你告诉我怎么了。 谢谢
import os
import sys
import dask
from dask.distributed import Client
def inc(x):
return x + 1
def add(x, y):
return x + y
client = Client(n_workers=2, threads_per_worker=2, memory_limit='1GB')
a = client.submit(inc, 10)
b = client.submit(inc, 20)
print(a.result())
print(b.result())
【问题讨论】:
-
您可以发布错误消息吗?另外,我至少不清楚作为宏运行是什么意思(除非 py 是 python 或 python3 的别名)?
-
if executed as macroPython没有宏,你的意思是文件被命名为“宏”吗? -
我的意思是将代码存储在macro.py中并执行代码(py macro.py)
-
错误信息很长。这是其中的一部分:
-
..... RuntimeError: 试图在当前进程完成其引导阶段之前启动一个新进程。这可能意味着您没有使用 fork 来启动子进程,并且您忘记在主模块中使用正确的习惯用法: if name == 'main': freeze_support() ... 如果程序不会被冻结以生成可执行文件,则可以省略“freeze_support()”行。
标签: python multiprocessing future dask