保存Matplotlib动画时出现FileNotFoundError的原因及解决求助
解决Matplotlib动画保存时的FileNotFoundError(WinError 2)问题
核心原因
WinError 2本质是系统找不到FFmpeg的可执行文件——Matplotlib的FFMpegWriter依赖FFmpeg编码视频,若未安装FFmpeg或Matplotlib无法定位它,就会触发该错误。
具体解决步骤
1. 安装并配置FFmpeg
- 下载对应Windows版本的FFmpeg安装包,解压后找到
ffmpeg.exe文件。 - 将
ffmpeg.exe所在文件夹路径添加到系统环境变量Path中,添加后重启Python环境或终端。
2. 直接指定FFmpeg路径(无需修改环境变量)
如果不想调整环境变量,可在代码里直接指定FFmpeg的绝对路径:
import matplotlib.animation as animation anim = animation.FuncAnimation(fig, plot_update, frames=vel, init_func=plot_init, blit=True) # 替换为你的ffmpeg.exe实际路径 writervideo = animation.FFMpegFileWriter(fps=60, extra_args=['-vcodec', 'libx264']) anim.save("MaxvellDistribution.mp4", writer=writervideo, writer_args={'ffmpeg_path': 'C:/your/path/to/ffmpeg.exe'})
3. 检查保存路径权限与有效性
- 确保目标保存路径有写入权限,避免因权限不足导致文件无法创建。
- 尝试使用绝对路径保存,比如
anim.save("D:/Projects/MaxvellDistribution.mp4", writer=writervideo),排除相对路径识别问题。
4. 验证FFmpeg可用性
打开命令提示符(CMD),输入ffmpeg -version,若能显示FFmpeg版本信息,说明安装和配置成功;若报错,重新检查安装包完整性和路径配置。
内容的提问来源于stack exchange,提问作者Øystein Bringsli
相关产品推荐
相关产品推荐

