11

我试图使用moviepy库创建一个带有python的应用程序。我安装它使用:

pip install moviepy

我从 MoviePy 速成课程中发现了这一点:

# Import everything needed to edit video clips
from moviepy.editor import *

尝试运行此行后,我收到此错误:

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32     bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # Import everything needed to edit video clips
... from moviepy.editor import *
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  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. '
imageio.core.fetching.NeedDownloadError: Need ffmpeg exe. You can download it by calling:
  imageio.plugins.ffmpeg.download()

这里有什么问题,我该如何解决?

4

4 回答 4

14

编辑:您现在可以将moviepy更新到v0.2.3.3,pip install --upgrade moviepy它会在导入时自动安装ffmpeg moviepy.editor#731


在 python 控制台/shell(例如 IPython/IDLE shell)中运行:

>>> import imageio
>>> imageio.plugins.ffmpeg.download()

Moviepy 依赖于库 imageio,它使用程序 ffm​​peg。它需要下载它才能使用它,你可以用上面的imageio命令下载它。

于 2017-01-29T17:02:30.223 回答
3

我有一个类似的问题。它由以下代码行修复。

python -m pip install moviepy
于 2020-08-28T08:30:16.277 回答
1

我今天遇到了这个问题。当我安装 MoviePy 时,也安装了每个必需的组件(我使用 pip )但由于某种原因,我遇到了同样的问题。所以,我真的尝试了上面提到的所有东西,但仍然没有任何效果。有趣的是,在调查了我的 /usr/bin/ 之后,我决定从 #!bin/python 切换到 #!/bin/python3 并且我最终从 pylint (视觉工作室扩展)收到错误消息 - 这意味着它成功导入了 moviepy .编辑器。但是,我仍然遇到了同样的错误,所以我决定在执行我的 file.py 时使用 python3 而不是 python 并且它有效。所以我的解决方案:python3 your_file_that_contains_moviepy.py 我还建议将 pip3 别名为 pip,将 python3 别名为 python

于 2020-09-07T05:32:55.997 回答
1

我遇到了类似的问题;ffmpeg 插件是为我自动下载的,但仍然无法导入编辑器。就我而言,缺少另一个依赖项:我通过执行

pip install --user requests


解释:

  • (上下文:不需要,但可能对其他人有帮助)我需要使用惊人的tensorboardX项目imagepy.editor将一些张量作为视频发送到 TensorBoard 。由于我仍然有一个导入错误,tbX 一直告诉我我需要,我有。有关更多详细信息,请参阅我打开的相应GitHub 问题imagepy

  • 通过仔细查看模块import imagepy; help(imagepy),我看到editor列出的子模块,这让我更加困惑:尝试导入它返回AttributeError: 'module' object has no attribute 'editor'

  • 所以必须在某个地方覆盖实际的错误。我注释掉了模块文件中唯一的一行__init__(您可以通过 找到imagepy.__file__)并添加了一个显式的import editor,它释放了错误消息:ImportError: No module named requests

此时,安装requests软件包并将__init__文件恢复到其原始状态就可以了。希望这可以帮助!

干杯,安德烈斯

于 2018-07-30T10:47:59.527 回答