【问题标题】:pyinstaller and moviepy, ffmpeg works from terminal but not from finderpyinstaller 和 moviepy,ffmpeg 从终端工作,但不能从 finder
【发布时间】:2017-06-24 18:45:28
【问题描述】:

我在 OSX Mavericks 上使用 pyinstaller 2.1 打包 python。我过去成功地做到了这一点,但这是我第一个使用moviepy和ffmpeg的包。我使用以下导入:

from moviepy.video.io import ffmpeg_reader

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

open ./myapp.app

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

谢谢!

【问题讨论】:

    标签: python ffmpeg pyinstaller


    【解决方案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/audio/fx/all/__init__.py, moviepy/video/fx/all/__init__.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就会被下载。

    【讨论】:

      猜你喜欢
      • 2018-02-03
      • 1970-01-01
      • 2021-12-18
      • 2015-08-12
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      相关资源
      最近更新 更多