One obscure aspect of thonny i like is that the whole thing is a simple "executable" package (i.e. a normal package with a __main__.py file). That's it.
This is also my favourite way of packaging python apps. Excludes all need for layer upon layer of external packaging, dependency, and distribution requirements.
i think py_installer is for producing actual executables, i.e. where you don't need an interpreter installed.
but in any case, even if it werent, the point I'm making above is exactly that you dont have to use external programs to package, distribute, or manage your "app". it's just a normal python package, run as nature intended, so to speak.
This is also my favourite way of packaging python apps. Excludes all need for layer upon layer of external packaging, dependency, and distribution requirements.