Python 3.x 未找到pydub ffprobe

Python 3.x 未找到pydub ffprobe,python-3.x,ffmpeg,py2app,pydub,Python 3.x,Ffmpeg,Py2app,Pydub,我有一个MacOS应用程序,它是用py2app编译的。该应用程序使用pydub模块,后者使用ffmpeg系列软件包 问题是,一旦我编译应用程序并将其移动到另一个操作系统,来自pydub的子流程调用无法找到任何ffmpeg包,即使它们安装在/usr/local/bin中 如果我从终端/Nameapp.app/Contents/MacOs/Nameapp启动应用程序,那么它运行没有问题,但是如果我双击启动它,那么pydub抱怨找不到包,应用程序挂起在ffmpeg/ffprobe应该工作的地方 我可以

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

问题是,一旦我编译应用程序并将其移动到另一个操作系统,来自
pydub
子流程调用无法找到任何
ffmpeg
包,即使它们安装在
/usr/local/bin

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

我可以看到
pydub
只有在从终端启动时才会在
/usr/local/bin
中搜索,否则不会。如果我将
/usr/local/bin
添加到
路径
pydub
不再抱怨它找不到ffmpeg/ffprobe,但它仍然给我一个ffmpeg和ffprobe的错误:
[Errno 2]没有这样的文件或目录:

如果我硬编码路径
pydub.AudioSegment.converter=“/usr/local/bin/ffmpeg”
,则应用程序只会给我ffprobe错误
[Errno 2]没有这样的文件或目录:'ffprobe':'ffprobe'

在其他一些帖子中,我看到了
pydub.AudioSegment.ffprobe=“/path/to/ffprobe”
,但它在我的情况下似乎不起作用

所以我的两个问题是:

如何在pydub中硬编码ffprobe路径?

如何在不使用硬编码路径的情况下解决此问题?

由于某些原因,将shell更改为zsh时,它会起作用。。。切换回bash否。我对这个解决方案不太满意,但这是一个类似的问题

我在过去有过类似的经历,我能够通过调用
子流程
来解决这个问题,方法是使用
['/bin/bash','-I','-c',name]
。但我不想在这里这么做