Pyinstaller 缺少 dll 文件

Pyinstaller missing dll files

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

C:\Users\Name\Appdata\local\Temp_MEI51162\VCRUNTIME140.dll is either not designed to run on Windows or it contains an error...

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

Error loading Python DLL 'C:\Users\Name\AppData\Local\Temp_MEI51162\python36.dll'. LoadLibrary:

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

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