繁体   English   中英

在Windows 8上创建的pyinstaller exe在Windows 7中不起作用

[英]pyinstaller exe created on Windows 8 does not work in Windows 7

我已经在Windows 8中制作了一个可执行文件。它可以在Windows 8和10中正常运行。问题是,当我双击Windows 7中的exe文件时,出现消息“ myfile.exe已停止工作”。 我测试了所有想到的东西,但问题仍然存在。

下图是我运行exe文件时的消息

问题很可能是您在无法运行可执行文件的计算机上丢失了DLL。

这是由于以下事实:在某些位置,一段时间内,您已经安装了.NET环境,Visual XXX环境或包含特定DDL集的运行时,以使应用程序正常运行。

从提出问题开始,它指向Visual C ++运行时。 可以安装或者通过全套的Visual C ++的诉讼或只是一个VCruntime(通常)。

同样重要的是要指出这些运行时带有它们自己的协议和许可条款。 这就是为什么它们不打包在可执行文件中的原因(通常也是) 可以将它们捆绑在可执行文件中,具体取决于您使用的冻结技术,但这是不允许的,并且您需要具有这样做的权限。

一种实现方式(通过pyinstaller)是:

pyinstaller -F --add-data ucrtbase.dll;. myscript.py

再次,检查许可证是否允许。

如果千方百计决定使用.exe复制并粘贴DLL,则需要确保可通过Windows PATH环境访问该DLL,因为这是您的可执行文件在其中寻找DLL (通常是system32或其他路径)的地方 因此,一味地复制它是因为互联网上的某人这样说并不总是可行。 您必须学习并理解它为什么会工作以及如何工作。

这是一个很好的外部资源,很好地描述了这种现象: https : //docs.python-guide.org/shipping/freezing/

除py2app之外,所有解决方案都需要在目标计算机上安装MS Visual C ++ dll。 只有Pyinstaller可以将--onefile传递给Configure.py时,将dll捆绑在一起的可自行执行的exe。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM