python - 处理可执行文件对 github 的依赖

标签 python github ffmpeg dependencies dependency-management

我目前正在使用 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/

相关文章:

windows - 如何在 Windows 上对多个 repo 进行 git pull?

php - ffmpeg - 如何在 laravel 中制作没有音频的视频

c - FFMpeg Cygwin 编译

java - 将脚本从 python 翻译为 java 时出现问题

python - 在 Python 中计算多种证券的对数 yield

python - Pandas 因可变列而失败

bash - 每次音量为零时,如何使用 ffmpeg 分割 mp4 视频?

python - 将注释文本与颜色条标签文本对齐

Git 突然找不到 Github 仓库

Github squash 在审查评论后根据 pull 请求从 Web 界面提交?