当使用py2exe通过wxPython分发Python应用程序时,通常需要一些MSVC DLL来使.exe在新安装的机器上运行。特别是,两个最常见的DLL是msvcp71.dll和msvcr71.dll

前者可以使用此提示包含在.exe中。但是,后者只是被py2exe放在 dist 目录中,而不是放入可执行文件中,即使我特意要求包含它。

知道如何让py2exe包含在.exe中吗?

有帮助吗?

解决方案

那么它不会失败吗?您希望 msvcr71.dll 与exe在同一目录中,以便库加载器能够找到并将其链接到应用程序的内存映射中。

这是基本操作所必需的,所以你不能让 py2exe 用其他DLL解压缩它。

其他提示

py2exe无法做到这一点。你可以包装py2exe(在wiki上有一个例子,显示如何使用NSIS) ;如果使用NSIS或InnoSetup不是一个选项,你可以建立自己的包装器。

或者,如果您肯定您的用户将安装msvcr71.dll的兼容副本(IIRC Vista或XP SP2用户),那么您可以在不包括它的情况下逃脱。更有用的,也许,如果你使用Python 2.3(或更早版本),那么Python链接msvcr.dll而不是msvcr71.dll,并且任何Windows用户都会安装它,所以你可以不用担心它。

是的,py2exe可以做到这一点。 查看此链接。如果您使用的是python2.7,请替换“msvcr71”。到“msvcp90”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top