尝试运行转换为 .exe 文件的 .py 程序后出现病毒警告

Posted

技术标签:

【中文标题】尝试运行转换为 .exe 文件的 .py 程序后出现病毒警告【英文标题】:Virus warnings after trying to run .py program converted to an .exe file 【发布时间】:2019-06-06 23:25:01 【问题描述】:

我将我的 .py 文件转换为可执行程序,在尝试运行它后,我收到了来自 Avast 的病毒警报,提示该程序感染了 Win32:Malware-gen。 当我禁用 Avast 时,该程序运行良好,但从长远来看将无法运行。 此外,当我尝试通过 Gmail 向程序发送电子邮件时,它会用另一个病毒警告阻止附件。 该程序是一个使用 tkinter 制作的简单 python 数据库。

这是我用来转换它的代码:

pyinstaller --onefile --windowed

是否有其他代码可以用来转换它,效果会更好? 为什么我会收到警报?

谢谢

【问题讨论】:

您的 pyinstaller 可能已被感染。我会使用pypi 中的pip 重新安装它,然后再次创建.exe。还强烈建议您对整个计算机进行病毒扫描。恶意软件警告也有可能是完全虚假的——他们称之为“误报”——而不是真正的病毒。不知道该怎么办...也许您需要切换到另一个 .py 到 .exe 转换器 - 其中有几个。 【参考方案1】:

这是一个已知问题,可能是多种原因导致您的病毒程序认为这是病毒。检查一下:https://github.com/pyinstaller/pyinstaller/issues/603

目前,您唯一的选择是尝试其他转换器,例如 py2exe。 各有优劣,您可以参考:https://docs.python-guide.org/shipping/freezing/ 进行漂亮的比较。

【讨论】:

【参考方案2】:

使用jar方法

基本上,不是将 .py 文件转换为 exe 文件,而是将其转换为 jar 文件。

关注这个答案:

https://***.com/a/1255113/7123519

https://wiki.python.org/jython/JythonFaq/DistributingJythonScripts


【讨论】:

请注意 jython 与 python3 不兼容,因此这种方法可能不适用于新开发的程序。

以上是关于尝试运行转换为 .exe 文件的 .py 程序后出现病毒警告的主要内容,如果未能解决你的问题,请参考以下文章

python程序转换为exe程序,py2exe的使用方法

运行转换后的 py 到 exe 文件显示控制台而不是设计的 GUI

类型错误:列表索引必须是整数或切片,而不是 str 尝试使用 cx_Freeze 将 .py 文件转换为 .exe 时

将 .py 文件转换为.exe 的软件

将 .py 文件转换为.exe 的软件

用py2exe将python文件转换成exe可执行程序