我已经为 wxpython 脚本生成了 msi,但是当我运行 exe 文件时,我收到以下错误,但它正在 RAW Python 脚本上运行
错误信息:
从._core导入 * 导入错误: DLL 加载失败: 找不到指定的过程
完整错误消息的图像
配置:蟒蛇2.7
看这篇文章,你的问题可能是由可执行文件目录中缺少的DLLMSVCP140.dll
和VCRUNTIME140.dll
引起的。
第一步,在系统上找到这两个 DLL(通常在C:WindowsSystem32
下或 Python 目录中的某个位置(,并在运行msi
安装程序后手动将它们复制到安装目录中。
如果这解决了问题,您可以通过在setup.py
脚本中向setup
调用的options
kwarg 添加类似于以下条目的内容来自动化此解决方案:
options = {'build_exe': {'include_files': ['path_to/VCRUNTIME140.dll', 'path_to/MSVCP140.dll']}}
其中path_to
替换为系统上 DLL 的正确路径(两个 DLL 也可能不同(。
经过这么多小时的调试,我发现,在构建MSI文件时,cx_freeze并没有完全复制wx,idna和pycparser库。因此,为了解决这个问题,安装MSI文件后,从Python Lib文件夹(C:\Python27\Lib\site-packages(复制这三个库,并将其替换为MSI安装库文件夹中的相同库。