cx_Freeze生成的 wxpython 脚本的 msi 会导致导入错误:DLL 加载失败



我已经为 wxpython 脚本生成了 msi,但是当我运行 exe 文件时,我收到以下错误,但它正在 RAW Python 脚本上运行

错误信息:

从._core导入 * 导入错误: DLL 加载失败: 找不到指定的过程

完整错误消息的图像

配置:蟒蛇2.7

看这篇文章,你的问题可能是由可执行文件目录中缺少的DLLMSVCP140.dllVCRUNTIME140.dll引起的。

第一步,在系统上找到这两个 DLL(通常在C:WindowsSystem32下或 Python 目录中的某个位置(,并在运行msi安装程序后手动将它们复制到安装目录中。

如果这解决了问题,您可以通过在setup.py脚本中向setup调用的optionskwarg 添加类似于以下条目的内容来自动化此解决方案:

options = {'build_exe': {'include_files': ['path_to/VCRUNTIME140.dll', 'path_to/MSVCP140.dll']}}

其中path_to替换为系统上 DLL 的正确路径(两个 DLL 也可能不同(。

经过这么多小时的调试,我发现,在构建MSI文件时,cx_freeze并没有完全复制wx,idnapycparser库。因此,为了解决这个问题,安装MSI文件后,从Python Lib文件夹(C:\Python27\Lib\site-packages(复制这三个库,并将其替换为MSI安装库文件夹中的相同库。

相关内容

最新更新