In virtual environments in Windows, there is an extra layer of Python processes whenever a subprocess is created. This is not ideal since the processes often want to know about each others' PIDs and such, and this intermediate means they can get the wrong idea.
The multiprocessing module gets around it by calling the base executable after setting an environment variable (which is all that the launcher python.exe does in any case).
In virtual environments in Windows, there is an extra layer of Python processes whenever a subprocess is created. This is not ideal since the processes often want to know about each others' PIDs and such, and this intermediate means they can get the wrong idea.
The multiprocessing module gets around it by calling the base executable after setting an environment variable (which is all that the launcher python.exe does in any case).
We should copy it