无法导入moviepy.edi

2024-04-19 12:28:03 发布

您现在位置:Python中文网/ 问答频道 /正文

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

pip install 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()

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


Tags: infrompyioimportlibpackagesvideo
2条回答

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

pip install --user requests


说明:

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

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

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

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

干杯, 安德烈斯

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


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

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

Moviepy依赖于使用ffmpeg程序的库imageio。它需要先下载才能使用,您可以使用上面的imageio命令下载它。

相关问题 更多 >