无法导入 moviepy.editor

Can't import moviepy.editor

我正在尝试使用 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()

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

编辑: 您现在可以使用 pip install --upgrade moviepy 将 moviepy 更新到 v0.2.3.3,它会在需要时在导入 moviepy.editor (#731)

时自动安装 ffmpeg

运行 在 python console/shell 中(例如 IPython/IDLE shell):

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

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

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

修复了它

pip install --user requests


解释:

  • (上下文:不需要,但可能对其他人有帮助)我需要 imagepy.editor 以便使用我打开的惊人 tensorboardX project. Since I still had an import error, tbX kept telling me that I need imagepy, which I had. See the corresponding GitHub issue 将一些张量作为视频发送到 TensorBoard了解更多详情。

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

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

此时,安装 requests 软件包并将 __init__ 文件恢复到其原始状态就完成了工作。希望这对您有所帮助!

干杯, 安德烈斯

我遇到了类似的问题。它已通过以下代码行修复。

python -m pip install moviepy

我今天遇到了这个问题。当我安装 MoviePy 时,每个必需的组件也都安装了(我使用 pip )但出于某种原因,我遇到了同样的问题。所以,我确实尝试了上面提到的所有方法,但仍然没有任何效果。有趣的是,在调查了我的 /usr/bin/ 之后,我决定从 #!bin/python 切换到 #!/bin/python3 并且我最终从 pylint ( visual studio extension) - 意味着它成功导入 moviepy.editor 。但是,我还是遇到了同样的错误,所以我决定在执行我的 file.py 时使用 python3 而不是 python 并且它起作用了。 所以我的解决方案:python3your_file_that_contains_moviepy.py 我还建议将 pip3 别名为 pip,将 python3 别名为 python