Python exe化ツールとmultiprocessingの併用
Windowsで、pythonをexe化するツール(pyinstallerなど)と、並列処理を扱うmultiprocessingを併用する場合。
そのままでも何の問題も無いこともあるのだが、
なんかようわからん原因でエラーが発生したり、うんともすんとも言わなくなったりする。
エラーメッセージも特に適切な部分を差しているように見えない。
その場合、multiprocessing.freeze_support()
をおまじないとして実行するとよい。
exe化の起点となるスクリプトの if __name__ == '__main__':
直後に置く。
何かこういうエラー、おぼろげにでも知ってたら探すのは簡単だけど、知らないとその観点で探す発想になかなか至らないので厄介。