如何使用 pyinstaller 在可执行文件中包含 .dll 文件?

新手上路,请多包涵

我想从我的 python 脚本生成一个可执行文件。为此,我使用 pyinstaller。我在使用 mkl 库时遇到问题,因为我在脚本中使用了 numpy。

我用这个 钩子 解决了这个问题,效果很好。但是如果我将单个可执行文件复制到另一个目录并执行它,它就不起作用。我想我也必须复制钩子。但我只想拥有一个可以在其他计算机上使用的文件,而无需复制 .dll's 或挂钩。

我还按照 此处 所述更改了 .spec 文件,并将必要的文件添加到 binaries 变量中。只要 .dll's 位于为 binaries 提供的目录中,这也有效,但是当我在没有的计算机上使用可执行文件时,这将不起作用这些 .dll's

我尝试使用 --hidden-import= FILENAME 选项。这也解决了问题,但只是在某处提供了 .dll's 时。

我正在寻找的是将 .dll's 捆绑到单个可执行文件中的可能性,以便我有一个独立工作的文件。

原文由 David P 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 841
1 个回答
推荐问题