有没有办法将外部.exe依赖项(ffmpeg.exe)捆绑到pyinstaller的.exe中?

时间:2019-09-11 20:08:04

标签: python exe pyinstaller

我正在尝试创建一个音频处理实用程序,该实用程序通过python系统管道在其中一个python包中使用ffmpeg.exe。
ffmpeg文件在我的本地项目中

我了解到您可以捆绑DLL和其他数据文件(例如图像或文本),但尚未找到解决方案。

最佳解决方案是不需要安装程序,并且可以从cmd运行该实用程序而无需任何依赖-这包括预先安装ffmpeg。

是否可以将ffmpeg.exe捆绑到pyinstaller创建的.exe文件中,或者还有其他解决方案?

1 个答案:

答案 0 :(得分:1)

实际上,您可以使用“ binaries”选项将.exe文件(以及任何其他类型的文件-从pyinstaller文档中了解到,只有.dll这样的文件可以这样打包,因此是这个问题)。在pyinstaller的.spec文件中,例如:

binaries=[('.\\prerequisites\\', 'prerequisites')],

在这种情况下,当使用--onefile或-F参数时,.spec文件位置中的“ prerequisites”文件夹的内容将打包到.exe中,并在执行时将它们解压缩到临时MEIxxxx文件夹中。一个名为“前提条件”的文件夹。可执行文件可以与其中的文件进行通信。