在 SLURM 集群中,我提交了一个调用 python 脚本的 shell 脚本(这两个脚本都可以在下面找到。当 shell 脚本执行时,它会到达调用 python 脚本的位置,但随后什么也没有发生:没有输出,没有错误消息SLURM 作业继续运行。
我假设 python 脚本的全部内容都不相关(但我还是将其包括在内以完成)。出于调试目的,我print("script started")
在最开始插入了该行以查看它是否运行但没有运行。我在输出中看到的最后一件事是moved to directory
.
我尝试在此之前调用test.py
包含的脚本print("test")
并且它正常执行。
python 脚本无法启动的原因可能是什么,我该如何解决?
编辑:由于用户 jakub 建议更改print("script started")
为print("script started", flush=True)
成功打印。包括更多这样的语句表明脚本实际上运行得很好,只是没有输出任何东西。在不断执行的 for 循环中包含相同的语句也会使print()
之前丢失的所有语句都被打印出来。
那么问题就变成了:为什么print()
这里的语句需要在这个脚本中有flush=True
,而在其他脚本中不需要呢?
叮当猫咪
相关分类