python-3.x - pydub 没有找到 ffprobe

标签 python-3.x ffmpeg py2app pydub

我有一个使用 py2app 编译的 MacOS 应用程序.该应用程序使用 pydub模块,后者使用 ffmpeg 系列包。

问题是,一旦我编译了应用程序并将其移动到不同的操作系统,subprocess来自 pydub 的电话找不到任何 ffmpeg软件包,即使它们安装在 /usr/local/bin 中.

如果我从终端启动应用程序 ./Nameapp.app/Contents/MacOs/Nameapp那么它运行没有问题,但如果我双击启动它,那么 pydub提示找不到包和应用程序挂起 ffmpeg/ffprobe应该做的工作。

我可以看到 pydub/usr/local/bin 中搜索只有从终端启动,否则没有。如果我添加 /usr/local/binPATH , pydub不再提示找不到 ffmpeg/ffprobe,但它仍然给我一个 ffmpeg 和 ffprobe 的错误:[Errno 2] No such file or directory: .

如果我硬编码路径 pydub.AudioSegment.converter = "/usr/local/bin/ffmpeg" ,该应用程序只给我 ffprobe 错误 [Errno 2] No such file or directory:'ffprobe': 'ffprobe' .

在我看过的其他一些帖子上 pydub.AudioSegment.ffprobe = "/path/to/ffprobe"但它似乎不适用于我的情况?

所以我的两个问题是:

如何在pydub中硬编码ffprobe路径?
如何在没有硬编码路径的情况下解决这个问题?

最佳答案

出于某种原因,它在将 shell 更改为 zsh 时会起作用...切换回 bash no。对这个解决方案不是很满意,但确实是这样

关于python-3.x - pydub 没有找到 ffprobe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000698/

相关文章:

python - 如何确定最佳顺序以最大化影响

python-3.x - yolov5 中的非标准化标签

batch-file - 尝试使用 ffmpeg 将 wav 与视频文件合并

ffmpeg - 如何使用 .MP4 或 .TS 文件生成 CVBR AV 文件

python - 在 mac osx 上启动应用程序的多个进程

python - 为 Leopard 和 Snow Leopard 编译 py2app 工作版本?

python-3.x - 我在用这些引号做错什么了?

Python,为什么dataclass属性是只读的?

visual-c++ - 如何解码全速率 GSM 音频文件?

python - py2app/Tkinter应用程序错误: "classic environment is no longer supported"