执行manim -pql命令出现SSLCertVerificationError的原因排查
SSL证书验证失败(Hostname mismatch)问题解决(Manim渲染报错)
编写的Manim代码:
from manim import * class CountingScene(Scene): def construct(self): number = DecimalNumber() number.set_color(WHITE) self.add(number) self.wait(3)执行命令
manim -pql main.py CountingScene时出现错误:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.latexcluster.org'. (_ssl.c:992)已安装certifi包,询问问题原因及解决办法。
问题根源
这个错误的核心原因是Manim默认会调用远程LaTeX渲染服务(www.latexcluster.org),但该服务器的SSL证书与域名不匹配,导致本地SSL验证流程失败。安装certifi包无法解决此问题,因为certifi仅负责提供可信根证书集合,而问题出在目标服务器的证书配置错误,与本地根证书无关。
解决方法
改用本地LaTeX渲染(推荐)
这是最稳妥的方案,避免依赖远程服务的问题:- 确保本地已安装完整的TeX发行版(如TeX Live、MikTeX)
- 运行Manim时指定使用本地编译器,命令修改为:
manim -pql --tex-compiler latex main.py CountingScene
或者在代码中全局配置:
from manim import * config.tex_compiler = "latex" class CountingScene(Scene): # ... 你的代码 ...临时跳过SSL验证(不推荐,有安全风险)
如果只是临时测试,可以通过环境变量关闭Python的SSL验证:PYTHONHTTPSVERIFY=0 manim -pql main.py CountingScene检查DNS解析
部分情况下可能是本地DNS缓存导致解析到错误的服务器IP,尝试清除本地DNS缓存后重新运行命令。
内容的提问来源于stack exchange,提问作者Gocthik
相关产品推荐
相关产品推荐

