If you distribute a Python program, the program will only run on the recipient's computer, if Python is installed. Even if this is the case, it has to be the right version.
To circumvent this problem, you can “freeze” your code. “Freezing” means that you are creating an executable file, which contains the application itself and the Python interpreter.
There is one drawback: “Frozen binaries” are larger in size!
There are a variety of programs available to perform this task.