无法导入moviepy.editor

时间:2017-01-29 16:59:19

标签: python pip moviepy

我正在尝试使用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 个答案:

答案 0 :(得分:12)

编辑: 您现在可以使用public function ajaxSubcategories() { $this->autoRender = false; $this->loadModel('Subcategories'); $category_id = $this->request->data['category_id']; $subcategories = $this->Subcategories->find() ->where(['category_id' => $category_id, 'deleted' => false, 'status' => 0]); $data = ''; foreach($subcategories as $subcategory) { $data .= '<option value="'.$subcategory->id.'">'.$subcategory->title.'</option>'; } echo $data; } 将moviepy更新为v0.2.3.3,并在导入pip install --upgrade moviepy#731)时自动安装ffmpeg

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

moviepy.editor

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

答案 1 :(得分:2)

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

python -m pip install moviepy

答案 2 :(得分:0)

我遇到了类似的问题; ffmpeg插件已自动为我下载,但仍无法导入编辑器。在我的情况下,另一个依赖项丢失了:我通过做一个

pip install --user requests


解释:

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

  • 通过import imagepy; help(imagepy)仔细查看模块,我看到列出的editor子模块,这进一步让我感到困惑:尝试导入它返回了 AttributeError: 'module' object has no attribute 'editor' < / strong>

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

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

干杯, 安德烈斯

答案 3 :(得分:0)

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