我目前正在使用 Python 构建一个用于教育目的的开源项目,我将把它添加到 Github 上。它使用 ffmpeg 库作为 64 位编译的 exe(我在 Windows 上),通过在代码中使用命令行参数调用可执行文件。
我的问题是,如何处理其他人尝试使用我的代码的情况(假设是客户,即使没有)。因为他们还需要 ffmpeg 可执行文件。
- 将 ffmpeg 可执行文件包含到 Github 存储库中(似乎是错误的,也可以 在多平台上失败)。
- 在代码开头添加一个依赖控制,通知用户他们应该下载可执行文件。 (会让用户 做一些工作)
- 创建一个存储此文件的安装程序(不知道如何与 github 结合)
在 linux 中,ffmpeg 本身可以作为一个库进行安装,将其添加为依赖项在 linux 中可以工作,但是在 Windows 中,这需要将安装目录添加到 PATH(如果已安装,而不是复制粘贴到代码附近).为用户做更多的工作。
ffmpeg 只是一个例子。我也很好奇使用其他编译的二进制文件(如果有其他使用这些项目的方法,我愿意接受建议)。
我还包括了 ffmpeg 和 Python 作为标签,以防这些工具在这些情况下提供指导(在互联网上找不到,或者不知道去哪里找)。
最佳答案
in Windows this would require adding installed directory to PATH (if installed, instead of copy-pasted near the code). Some more work for the user.
不完全是。
您的程序在首次启动时应该:
- detect its runtime folder (启动它的文件夹,不必位于
%PATH%
中) - 检测它所依赖的可执行文件是否存在于同一个文件夹中(这里以
ffmpeg
为例) - 在运行时文件夹(即您自己的程序所在的位置)中(从 Windows build page)下载它
- 运行程序的其余部分,使用运行时文件夹作为路径调用下载的可执行文件。
关于python - 处理可执行文件对 github 的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57228108/