Anaconda环境matplotlib调用ffmpeg提示不可用如何解决
问题根因
你通过pip安装的ffmpeg 1.4是Python编写的ffmpeg调用封装库,不是matplotlib动画模块依赖的ffmpeg原生可执行程序,二者完全不是一个东西,所以matplotlib根本识别不到对应的ffmpeg写入器。另外你之前执行pip安装的路径是系统独立安装的Python 3.10的包目录,和你正在使用的Anaconda Jupyter环境完全隔离,就算装对了依赖,当前环境也读取不到。
解决步骤
- 安装原生ffmpeg到当前Anaconda环境
打开Anaconda Prompt,如果你给Jupyter配置了独立虚拟环境,先执行conda activate 你的环境名激活对应环境,用base环境就跳过这步,直接执行安装命令:conda install -c conda-forge ffmpeg
安装完成后在当前命令行执行ffmpeg -version,能正常输出版本号信息就说明原生程序安装到位。 - 验证识别状态
完全重启Jupyter内核,重新运行写入器检测代码:
正常输出的列表里会包含import matplotlib.animation as animation print(animation.writers.list())ffmpeg选项,此时调用ffmpeg写入动画就不会再报找不到的错误。 - 兜底方案:如果上述操作后还是识别不到
在Anaconda Prompt对应环境下执行where ffmpeg,拿到返回的ffmpeg.exe完整绝对路径,在你绘图代码的最开头加入如下配置,手动给matplotlib指定程序路径即可:import matplotlib.pyplot as plt plt.rcParams['animation.ffmpeg_path'] = '替换成你查到的ffmpeg.exe完整路径'
注意:不要用pip安装的同名
ffmpeg包解决该问题,那个第三方封装库不提供matplotlib需要的二进制执行文件,装了也没用。
内容的提问来源于stack exchange,提问作者Jeremiah2911
相关产品推荐
相关产品推荐

