Pyinstaller 缺少 dll 文件

Posted

技术标签:

【中文标题】Pyinstaller 缺少 dll 文件【英文标题】:Pyinstaller missing dll files 【发布时间】:2018-04-29 13:44:14 【问题描述】:

我想从我的脚本创建一个 32 位可执行应用程序,以在具有 X86 或 X64 架构的 Windows 10 上运行。我已经生成了我的脚本的 X64 版本,它运行良好。我的主机是 X64,但我安装了 Python X86 版本来生成 X86 应用程序。然后我用 Pyinstaller 生成了可执行文件,但是当我运行可执行文件时,它会抛出以下错误:

C:\Users\Name\Appdata\local\Temp_MEI51162\VCRUNTIME140.dll 是 要么不是设计为在 Windows 上运行,要么包含错误...

在控制台中我看到了这个错误:

加载 Python DLL 时出错 'C:\Users\Name\AppData\Local\Temp_MEI51162\python36.dll'。 加载库:

我检查了_MEI51162VCRUNTIME140.dllpython36.dll 都在那里,但 python36.dll 的大小约为 1 MB 而不是 3 MB。我是否将应用程序生成为独立的可执行文件并仍然给我同样的错误并不重要。

【问题讨论】:

【参考方案1】:

当您同时安装PyInstaller 的 32 位和 64 位时,似乎会出现问题。 PyInstaller 将无法选择当前构建所需的依赖项版本。我遇到的问题是VCRUNTIME140.dll。我找不到替换vcruntime140.dll 的方法,但我找到了一种解决方法,将正确的文件手动添加到C:\Users\<User>\AppData\Roaming\pyinstaller 目录并使用Pyinstaller 重建,然后它将被刚刚复制的新文件替换。这将暂时解决问题,并且不应删除该目录。

【讨论】:

以上是关于Pyinstaller 缺少 dll 文件的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller - 冻结应用程序时 QtWebEngineWidgets 抛出 dll 错误

pyinstaller打包在别的电脑上无法运行?

Pyinstaller 1 使用PyInstaller

如何使用pyinstaller打包python文件为exe文件

使用pyinstaller将Python打包为exe文件

使用 pyinstaller 生成的可执行文件遇到“致命的 python 错误:initfsencoding”