Compiling your application into an executable makes it easy to distribute to users. Popular tools to do this are pyinstaller or py2exe.
However one downside is that compiled Python code is frequently picked up by anti virus software as malicious, with scary sounding names like Wacatac.B!ml.
These are generally false positives, but they can be deeply unsettling for users.
In particular with Windows Defender, this can also make it effectively impossible for users to use your software since it may be placed into "quarantine" which means it cannot be used without disabling Windows Defender.
This guide explains steps which can resolve this and allow you to distribute your compiled python files without them being incorrectly identified as malware, a virus or a trojan.
Uploading your file to virustotal will let you know which engines are identifying your software as malware.
Anti-virus providers are surprisingly pro-active in responding to reports of false positives. The analysis and action can occur within hours.
I generally submit the file, politely explain the issue and include a link to my source code.
Unfortunately there's a good chance that every time you recompile your code for changes you will get re-added to the "naughty list" because the new executable has a different hash. Unfortunately there's not much to do other than keep re-submitting. If you have digitally signed your executable then you should built reputation over time.
Very important: Make sure you as submitting as a false positive. Often there are similar forms which you can use to submit software which you think is malware.
This isn't an immediate fix, but getting a digital certificate to "sign" your executables will allow you to build reputation with anti virus software.
You can get a certificate for €60 a year with Comodo. They require you to provide various kinds of identification and the process can take around 48 hours.
Once you have the certificate you can sign the EXE using Microsoft's SignTool which is included with Windows SDK.