This works fine on Linux and Mac. However it doesn't on Windows. Comments I've read, and the official Windows FAQ recommend using this instead on Windows:
py -3 script.py
But the FAQ doesn't explain why. Why does Windows have a unique execution method, and why is it only for Windows?
if (windows) run("py -3 script.py") else run("python3 script.py")