我正在尝试将pyOpenSSL包包含到来自虚拟环境的可执行文件中。可执行文件的构建没有错误,但是当我开始运行它时,它失败了,并出现错误"DLL加载失败:无法找到指定的模块“。
经过调查,似乎pyOpenSSL中的两个DLL (libeay32.dll和ssleay32.dll)并未包含在可执行文件中。最后,我通过将DLL放到路径上并运行可执行文件来证明这一点。
有没有人可以建议最简单的方法来强制将缺失的DLL包含到包中。
非常感谢
发布于 2012-04-18 02:56:58
听起来您需要在spec文件中手动指定DLL。有关等级库文件中有效数据类型的详细信息,请查看documentation on the TOC Class。看起来你会想要使用BINARY。
发布于 2015-12-03 23:51:23
我刚刚从Pythonv.0.13(它有一个适用于Windows的msi安装程序)升级到v.0.15 (我是用pyOpenSSL v.2.7.9通过"pip“安装的)。在此之前,pyInstaller运行良好。在此之后,pyInstaller未能生成一个工作包。事实证明它缺少一个依赖项。然而,这不是一个动态链接库,而是一个pyd。
只需将文件C:\Python27\Lib\site-packages\_cffi_backend.pyd复制到由pyInstaller创建的exe所在的目录,即可解决该问题。
https://stackoverflow.com/questions/10069959
复制相似问题