我在OSX Mavericks上使用pyinstaller 2.1打包python。我过去已成功完成此操作,但这是我的第一个使用moviepy和ffmpeg的软件包。我使用以下导入:
from moviepy.video.io import ffmpeg_reader
在代码中没有这一行,一切正常,我可以从finder中的图标启动我的最终包。使用moviepy导入,如果我从终端启动,它将起作用:
open ./myapp.app
但如果我点击查找器中的图标(快速打开并崩溃),它将无法打开。我假设这与在终端中设置的路径或环境变量有关,但不会传输到我的打包应用程序。我已经在pyinstaller中尝试了各种用于moviepy及其依赖项的隐藏导入,但似乎没有任何效果。 --debug模式没有提供太多信息来追踪它。还有其他想法吗?
谢谢!
答案 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。