raise NeedDownloadError('Need ffmpeg exe. ' NeedDownloadError: Need ffmpeg exe)

raise NeedDownloadError('Need ffmpeg exe. ' NeedDownloadError: Need ffmpeg exe)

我正在尝试执行对非官方 Instagram API python 库的调用,在我修复了几个需要依赖项的错误之后,我被困在了这个地方。

 File "C:\Users\Pablo\Desktop\txts_pys_phps_programacion\Instagram-API-python-master\InstagramAPI.py", line 15, in <module>
    from moviepy.editor import VideoFileClip
  File "C:\Python27\lib\site-packages\moviepy\editor.py", line 22, in <module>
    from .video.io.VideoFileClip import VideoFileClip
  File "C:\Python27\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 3, in <module>
    from moviepy.video.VideoClip import VideoClip
  File "C:\Python27\lib\site-packages\moviepy\video\VideoClip.py", line 20, in <module>
    from .io.ffmpeg_writer import ffmpeg_write_image, ffmpeg_write_video
  File "C:\Python27\lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 15, in <module>
    from moviepy.config import get_setting
  File "C:\Python27\lib\site-packages\moviepy\config.py", line 38, in <module>
    FFMPEG_BINARY = get_exe()
  File "C:\Python27\lib\site-packages\imageio\plugins\ffmpeg.py", line 86, in get_exe
    raise NeedDownloadError('Need ffmpeg exe. '
NeedDownloadError: Need ffmpeg exe. You can download it by calling:
  imageio.plugins.ffmpeg.download()

此包依赖于 PATH 中的 ffmpeg 可执行文件。

所以只需下载它,将其安装在某个地方,然后将安装目录添加到 PATH。确保可以通过键入以下内容访问它:

ffmpeg

从命令行。

错误消息中的最后两行提供了一个有价值的线索,我今天才安装了 moviepy,所以我想起了补救措施。

NeedDownloadError: Need ffmpeg exe. You can download it by calling:
  imageio.plugins.ffmpeg.download()
  • 首先 (sudo) pip install imageio,如有必要。
  • 现在:import imageio 然后 imageio.plugins.ffmpeg.download()

如果您正在使用 Ubuntu,请尝试:

sudo apt-get install ffmpeg

否则,如果您使用的是 Windows,只需尝试将 ffmpeg.py 第 82 行从 auto=False 更改为 auto=True

它会自动下载一次ffmpeg到正确的路径。然后import imageio写下imageio.plugins.ffmpeg.download()

会起作用的。

在 Windows,我会这样解决:

  1. 手动从 github 下载 ffmpg

  2. Lib\site-packages\imageio\plugins\ffmpeg.py文件中,更改

    exe = get_remote_file('ffmpeg/' + FNAME_PER_PLATFORM[plat], auto=False)
    

    exe = "PATH_WITH_FFMPG\ffmpeg.win32.exe"
    

任何使用 mac 的人都可以这样做。

pip install imageio(如果尚未安装)。

然后创建.py文件(python脚本)。

在此文件中写入:

import imageio

imageio.plugins.ffmpeg.download()

运行 终端中的这个脚本(即 "python (insert .py filename here)" )

它将 FFmpeg 安装在一个应该自动添加到您的路径的目录中。如果没有,请将其添加到您的路径中。

然后输入

   ffmpeg 

确保它已安装在您的路径中。

于 mac, 这是安装 ffmpeg 的最佳方式。 打开终端并输入。

$ brew install ffmpeg

您将看到它已安装。

==> Installing dependencies for ffmpeg: lame, x264, xvid