我正在尝试使用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()
这里有什么问题,我该如何解决?
答案 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