I believe on Windows, because there is no fork, the multiprocessing module reloads modules in new Python's processes.
You are required to have this code in your main script, otherwise very nasty crashes occur
if __name__ == '__main__':from multiprocessing import freeze_supportfreeze_support()
I have a bunch of modules which have debug print statements in them at the module level. Therefore, the print statements get called whenever a module is being loaded.
Whenever I run something in parallel all of these print statements are executed.
My question is if there is a way to see if a module is being imported by the multiprocessing module, and if so silence those print statements?
I'm basically looking if there is something like:
import multiprocessingif not multiprocessing.in_parallel_process:print('Loaded module: ' + __name___)
I've been unable to find it so far. Is this possible?