2

我正在尝试将 pyOpenSSL 包包含到虚拟环境中的可执行文件中。可执行文件构建时没有错误,但是当我运行它时失败并出现错误“DLL 加载失败:找不到指定的模块”。

经过调查,pyOpenSSL 中的两个 DLL(libeay32.dll 和 ssleay32.dll)似乎未包含在可执行文件中。我最终通过将 DLL 放在路径上并运行可执行文件来证明这一点。

任何人都可以建议最简单的方法来强制将丢失的 DLL 包含到包中。

非常感谢

4

2 回答 2

1

听起来您需要在规范文件中手动指定 DLL。查看关于 TOC 类的文档,了解有关规范文件中有效数据类型的更多信息。似乎您想使用BINARY.

于 2012-04-17T18:56:57.617 回答
0

我刚刚从 pyOpenSSL v.0.13(它有一个适用于 Windows 的 msi 安装程序)升级到 v.0.15(我通过 Python v.2.7.9 的“pip”安装)。在此之前,pyInstaller 工作正常。在此之后,pyInstaller 无法生成工作包。结果证明缺少一个依赖项。但是,它不是 dll,而是 pyd。

只需将文件 C:\Python27\Lib\site-packages\_cffi_backend.pyd 复制到与 pyInstaller 创建的 exe 相同的目录即可解决问题。

于 2015-12-03T15:51:22.723 回答