首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Windows 8上创建的pyinstaller exe在Windows 7中不起作用

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

Stack Overflow用户
提问于 2018-10-17 15:51:10
回答 1查看 2.2K关注 0票数 0

我在Windows8中创建了一个可执行文件。它可以在Windows8和Windows10中正常运行。问题是当我在Windows7中双击可执行文件时,我收到消息"myfile.exe已停止工作“。我测试了所有出现在我脑海中的东西,但问题仍然存在。

The figure below is the message when I run my exe file

EN

回答 1

Stack Overflow用户

发布于 2018-10-17 17:32:21

问题很可能是您在不运行可执行文件的计算机上缺少DLL。

这是因为在某些地方,有时你已经安装了.NET环境、Visual XXX环境或包含一组特定的动态链接库的运行时,以使应用程序正常工作。

从问题中的提问,它指向了一个可视化的C++运行时。它可以通过一套完整的可视化C++套件安装,也可以只安装一个VCruntime (通常)。

同样重要的是要指出,这些运行时都有自己的协议和许可证条款。这就是为什么它们没有打包到可执行文件中的原因(通常也是如此)。根据您使用的冻结技术,您可以将它们捆绑到您的可执行文件中,但这是不允许的,您需要有权限才能这样做。

一种方法(通过pyinstaller)是这样做的:

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

如果这是允许的,请再次检查许可证。

如果你不顾一切地决定用你的.exe复制和粘贴动态链接库,你需要确保它可以通过你的Windows PATH环境访问,因为那是你的可执行文件查找DLL的地方(通常是system32或其他路径)。因此,盲目地复制它,因为互联网上有人这么说,并不总是有效的。你必须学习和理解它为什么会工作,以及它是如何工作的。

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52849807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档