I think the fact that you call java not-compiled, but python interpreted shows your misunderstanding in this area. Both run exactly the same way, they are compiled into an intermediate bytecode which is run in a "VM". The normal Java VM has a JIT, the normal python VM does not, but pypy does and achieves performance on par with some of your compiled languages, at the cost of reduced c compatibility.
I know C, Java, python, and a limited amount of javascript and go. I prefer writing python. And, for plugins, there are enormous downsides to using something that is compiled (C, go).
For me, a big irritation with Python - intermediate bytecode or not - is that foolish small mistakes in formatting, or missing symbols, etc. will only make themselves apparent when the interpreter (or bytecode interpreter) actually tries to run or use them. In some configurations, it can be preprocessed and checked, but the most typical and default use cases for Python do not promote this.
Honestly, this is not a problem in practice; if some application crashes due to a misspelled variable, then that very clearly indicates that testing coverage is lacking. IDEs also tend to indicate this, as do linters.
Though your
> the most typical and default use cases for Python do not promote this.
They are binary files, but they aren't "compiled binaries in the same way that C is compiled", they are intermediate Python byte-code files and they still need the CPython runtime to interpret them.
As the other user mentioned, those are compiled in the same way java is compiled, but not in the same way that C is compiled. They still need an intermediate VM to run.
I know C, Java, python, and a limited amount of javascript and go. I prefer writing python. And, for plugins, there are enormous downsides to using something that is compiled (C, go).