поднять NeedDownloadError ('нужно ffmpeg exe. 'NeedDownloadError: нужен ffmpeg exe)

Я пытаюсь выполнить вызов неофициальной библиотеки API python Instagram, после нескольких ошибок для зависимостей, которые я исправил, я застрял в этом.

 File "C:UsersPabloDesktoptxts_pys_phps_programacionInstagram-API-python-masterInstagramAPI.py", line 15, in <module>
    from moviepy.editor import VideoFileClip
  File "C:Python27libsite-packagesmoviepyeditor.py", line 22, in <module>
    from .video.io.VideoFileClip import VideoFileClip
  File "C:Python27libsite-packagesmoviepyvideoioVideoFileClip.py", line 3, in <module>
    from moviepy.video.VideoClip import VideoClip
  File "C:Python27libsite-packagesmoviepyvideoVideoClip.py", line 20, in <module>
    from .io.ffmpeg_writer import ffmpeg_write_image, ffmpeg_write_video
  File "C:Python27libsite-packagesmoviepyvideoioffmpeg_writer.py", line 15, in <module>
    from moviepy.config import get_setting
  File "C:Python27libsite-packagesmoviepyconfig.py", line 38, in <module>
    FFMPEG_BINARY = get_exe()
  File "C:Python27libsite-packagesimageiopluginsffmpeg.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()

6 ответов


этот пакет полагается на 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

Else если вы используете Windows, просто попробуйте изменить ffmpeg.py 82-я строка от auto=False до auto=True

он автоматически загрузит ffmpeg на правильный путь один раз. Тогда import imageio и напиши imageio.plugins.ffmpeg.download()

будет работать.


в Windows, я бы исправить это таким образом:

  1. руководство скачать ffmpg от github

  2. в Lib\site-packages\imageio\plugins\ffmpeg.py файл, изменить

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

    to

    exe = "PATH_WITH_FFMPG\ffmpeg.win32.exe"
    

для тех, кто использует mac, сделайте это.

pip install imageio (если еще не установлен).

затем создайте .файл py (скрипт python).

в этом файле написать следующее:

import imageio

imageio.plugins.ffmpeg.download()

запустите этот скрипт в терминале (i.e " python (insert .py filename здесь)")

Он устанавливает его в каталог, который должен быть автоматически добавлен в ваш путь. Если нет, добавьте его в свой путь.

введите

   ffmpeg 

в убедитесь, что он установлен на вашем пути.


на mac, это лучший способ, чтобы установить его. Откройте терминал и введите.

$ brew install ffmpeg

вы увидите, как он будет установлен.

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