使用PyInstaller将pyOpenSSL打包到Windows可执行文件中

时间:2012-04-09 06:55:15

标签: python pyinstaller pyopenssl

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

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

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

非常感谢

2 个答案:

答案 0 :(得分:1)

听起来您需要在spec文件中手动指定DLL。有关spec文件中有效数据类型的更多信息,请查看documentation on the TOC Class。似乎您想要使用BINARY

答案 1 :(得分:0)

我刚从pyOpenSSL v.0.13(有一个Windows的msi安装程序)升级到v.0.15(我通过" pip"使用Python v.2.7.9安装)。在此之前,pyInstaller运行良好。在此之后,pyInstaller无法生成工作包。结果是缺少一个依赖。然而,这不是一个dll,而是一个pyd。

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

相关问题