3

我使用 Pyinstaller 和 Python 2.7 创建了一个二进制文件,当我在同一台机器上运行它时,它会抱怨运行时错误!R6034 “应用程序尝试错误地加载 C 运行时库。”

如果我使用 Process Explorer 并查看正在使用的 DLL,则有两个 msvcr90.dll 实例,一个来自 pyinstaller 创建的 _MEI 文件夹,版本为 9.0.21022.8,第二个版本来自 C:\Windows\wunsxs,版本为 9.0 .30729.4940。

知道如何解决这个问题吗?

4

1 回答 1

2

我也有这个问题。现在我发现的唯一解决方法是将yourprogramname.exe.manifest文件放在 Pyinstallerprojectname/build/projectname/目录中,并将其放在 exe 文件的同一目录中。

我的清单文件是这样的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity name="yourprogramname" processorArchitecture="x86" type="win32" version="1.0.0.0"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.VC90.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" type="win32" version="9.0.21022.8"/>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.VC90.MFC" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" type="win32" version="9.0.21022.8"/>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/>
    </dependentAssembly>
  </dependency>
</assembly>

还有相关的:

https://groups.google.com/forum/?fromgroups#!topic/pyinstaller/AkU4pARcLUE

于 2014-10-24T13:35:09.710 回答