【问题标题】:Packaging pyOpenSSL into a windows executable using PyInstaller使用 PyInstaller 将 pyOpenSSL 打包成 windows 可执行文件
【发布时间】:2012-04-09 06:55:14
【问题描述】:

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

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

谁能建议最简单的方法来强制将丢失的 DLL 包含到包中。

非常感谢

【问题讨论】:

    标签: python pyinstaller pyopenssl


    【解决方案1】:

    听起来您需要在规范文件中手动指定 DLL。查看documentation on the TOC Class 以获取有关规范文件中有效数据类型的更多信息。看来你会想使用BINARY

    【讨论】:

      【解决方案2】:

      我刚刚从 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 相同的目录即可解决问题。

      【讨论】:

        猜你喜欢
        • 2022-09-28
        • 2021-09-26
        • 2015-11-16
        • 2011-02-26
        • 2019-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多