Python中Matplotlib调用save方法保存动画为.mp4格式报错如何解决
问题根因
你遇到的FileNotFoundError和你指定的动画输出路径无关,本质是matplotlib调用FFMpegWriter渲染视频时,找不到系统中安装的ffmpeg二进制程序。FFMpegWriter实例化成功仅代表类初始化没有问题,实际执行save操作时才会调用系统的ffmpeg.exe程序,这一步触发了文件找不到的报错。
解决方案
- 优先使用conda安装适配环境的ffmpeg,打开Anaconda Prompt激活base环境后执行如下命令即可,安装完成后无需额外配置环境变量:
conda install ffmpeg
- 若选择手动安装ffmpeg,需下载Windows平台的预编译二进制包,解压后将包含
ffmpeg.exe的bin目录完整路径添加到系统环境变量PATH中,修改完成后重启VSCode和Jupyter内核让环境变量生效。 - 若配置环境变量后仍未生效,可以在代码中手动指定ffmpeg的绝对路径,示例如下:
import matplotlib.pyplot as plt # 替换为你本地ffmpeg.exe的实际路径 plt.rcParams['animation.ffmpeg_path'] = r'C:\xxx\ffmpeg\bin\ffmpeg.exe' writer = FFMpegWriter(fps=10) anim.save('animation_notrail.mp4', writer=writer)
- 若需要临时验证动画逻辑是否正常,可以改用
PillowWriter输出gif格式动画,无需依赖ffmpeg:
from matplotlib.animation import PillowWriter writer = PillowWriter(fps=10) anim.save('animation_notrail.gif', writer=writer)
内容的提问来源于stack exchange,提问作者ChristianDalton
相关产品推荐
相关产品推荐

