gpt4 book ai didi

python - 在 Python 脚本中将 freeze_support() 放在哪里?

转载 作者:IT老高 更新时间:2023-10-28 20:44:13 30 4
gpt4 key购买 nike

我对将 freeze_support() 用于 multiprocessing 感到困惑,没有它我会得到 Runtime Error。我只是在运行一个脚本,而不是定义一个函数或一个模块。我还能用吗?或者我要导入的包应该使用它吗?

Here是文档。

请注意,具体问题是关于 scikit-learn 调用 GridSearchCV 尝试并行生成进程。我不确定我的脚本是否需要为此卡住,或者某些被调用的代码(来自 Anaconda 发行版)。如果详细信息与此问题相关,请转到更具体的 question .

最佳答案

在 Windows 所有您的 multiprocessing 使用代码必须由 if __name__ == "__main__":

保护

为了安全起见,我会将您当前位于脚本顶层的所有代码放在 main() 函数中,然后在顶层执行此操作:

if __name__ == "__main__":
main()

参见“安全导入主模块”小节here解释为什么这是必要的。您可能根本不需要调用 freeze_support,尽管包含它不会有任何损害。

请注意,最好对脚本使用 if __name__ == "__main__" 守卫,这样在您发现需要 import< 时不会意外执行代码 将来某个时候将您的脚本转换为另一个脚本。

关于python - 在 Python 脚本中将 freeze_support() 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24374288/

30 4 0