pyinstaller和moviepy,ffmpeg从终端工作,但不是从finder工作

时间:2014-11-12 16:17:56

标签: python ffmpeg pyinstaller

我在OSX Mavericks上使用pyinstaller 2.1打包python。我过去已成功完成此操作,但这是我的第一个使用moviepy和ffmpeg的软件包。我使用以下导入:

from moviepy.video.io import ffmpeg_reader

在代码中没有这一行,一切正常,我可以从finder中的图标启动我的最终包。使用moviepy导入,如果我从终端启动,它将起作用:

open ./myapp.app

但如果我点击查找器中的图标(快速打开并崩溃),它将无法打开。我假设这与在终端中设置的路径或环境变量有关,但不会传输到我的打包应用程序。我已经在pyinstaller中尝试了各种用于moviepy及其依赖项的隐藏导入,但似乎没有任何效果。 --debug模式没有提供太多信息来追踪它。还有其他想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

moviepy和pyinstaller存在一些问题。

首先,尝试将错误写入文本文件

try:
    from moviepy.video.io import ffmpeg_reader
except Exception as e:
    with open('/absolute/path/to/error.txt',mode="w+") as f:
        f.write(str(e))

1)您可能需要修改这两个文件以删除" exec"进口报表

moviepy /音频/ FX /所有/ __ init__.py, moviepy /视频/ FX /所有/ __初始化__。PY

见这里: https://github.com/pratikone/videoVenom/blob/master/moviepy/audio/fx/all/__init__.py https://github.com/pratikone/videoVenom/blob/master/moviepy/video/fx/all/__init__.py

2)您可能需要使用此语句imageio.plugins.ffmpeg.download(),以便在未找到时下载ffmpeg。