You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

moviepy配置ffmpeg路径后调用VideoFileClip报权限错误如何解决

问题复现
  • 初始安装依赖执行命令:
pip install moviepy
pip install ffmpeg
  • 首次执行导入代码触发报错:
from moviepy.editor import *

报错信息:

RuntimeError: No ffmpeg exe could be found. Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.

  • 手动添加环境变量配置后导入正常,但加载视频时触发权限错误:
    测试代码:
import os
os.environ["IMAGEIO_FFMPEG_EXE"] = "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/ffmpeg"
from moviepy.editor import *

clip = VideoFileClip("master_video.mp4") 

核心报错信息:

PermissionError: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/ffmpeg'

问题原因

核心问题很明确:pip install ffmpeg安装的只是Python层的ffmpeg调用封装库,本身不包含ffmpeg可执行二进制文件。你从pip show ffmpeg返回结果里复制的是这个Python包的安装目录路径,不是可以直接运行的ffmpeg程序,系统尝试执行一个目录时自然会抛出权限错误,和文件夹权限设置没关系。

解决方案

两个方案选一个就行,优先选第一个,长期用稳定性最高:

  • 方案1:安装系统级ffmpeg(macOS环境推荐)
    直接用Homebrew安装官方编译的ffmpeg程序,终端执行:
    brew install ffmpeg
    
    安装完成后重启Python运行环境,把之前手动写的os.environ["IMAGEIO_FFMPEG_EXE"]硬编码配置全删掉,moviepy会自动识别系统路径下的ffmpeg,直接正常导入使用即可。
  • 方案2:使用imageio内置的ffmpeg包
    不想装Homebrew可以选这个方法,先安装带ffmpeg二进制的依赖包:
    pip install imageio-ffmpeg
    
    之后把之前硬编码路径的配置改成自动获取正确路径的写法,不用自己找路径:
    import os
    import imageio_ffmpeg
    os.environ["IMAGEIO_FFMPEG_EXE"] = imageio_ffmpeg.get_ffmpeg_exe()
    from moviepy.editor import *
    
    clip = VideoFileClip("master_video.mp4")
    
    改完直接运行就不会有权限问题。
注意

别再手动硬编码site-packages下的ffmpeg目录路径,那个路径指向的是Python包文件夹,不是可执行程序,哪怕给777权限也跑不起来。

内容的提问来源于stack exchange,提问作者Jatin Shekara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:57:16