我已经使用Pyinstaller和Python 2.7创建了一个二进制文件,当我在同一台机器上运行它时会出现运行错误! R6034“应用程序尝试错误地加载C运行时库。”
如果我使用Process Explorer并查看正在使用的DLL,则有两个msvcr90.dll实例,一个来自pyinstaller创建的_MEI文件夹,版本为9.0.21022.8,第二个版本来自C:\ Windows \ wunsxs,是版本9.0.30729.4940。
我知道如何解决这个问题?
答案 0 :(得分:2)
我也有这个问题。现在我发现的唯一解决方法是将yourprogramname.exe.manifest
文件放在Pyinstaller projectname/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