Matplotlib用LaTeX字体渲染文本时触发[Errno 13]权限拒绝错误
解决Matplotlib LaTeX渲染权限错误(PermissionError: [Errno 13])
排查与修复方案
直接指定latex可执行文件路径
若环境变量识别存在异常,可在Matplotlib配置中直接写入latex.exe的绝对路径。假设你的MikTeX安装在C:\Program Files\MiKTeX\miktex\bin\x64,在代码开头添加以下配置:import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True plt.rcParams['text.latex.engine'] = 'pdflatex' plt.rcParams['latex.command'] = r'C:\Program Files\MiKTeX\miktex\bin\x64\latex.exe'注意路径需与实际安装目录一致,路径中的空格无需转义,Matplotlib可直接识别。
以管理员身份运行VS Code
右键VS Code图标,选择「以管理员身份运行」后重新打开Jupyter Notebook测试。普通权限下,VS Code可能无法调用安装在Program Files等受保护目录中的MikTeX工具。验证latex命令的可用性
打开系统命令提示符(CMD),输入latex --version,若能正常输出版本信息,说明环境变量配置有效;若无法输出,重新检查Path环境变量是否正确添加了MikTeX的bin目录,修改后需重启电脑使配置生效。切换LaTeX引擎
尝试将默认引擎替换为pdflatex,添加以下配置:plt.rcParams['text.latex.engine'] = 'pdflatex'MikTeX默认会安装
pdflatex.exe,确保其所在目录已加入环境变量。检查MikTeX权限设置
打开MikTeX Console,进入「Settings」→「Directories」,确认相关目录对当前用户具备读写权限。同时确保MikTeX未处于只读模式,若处于该模式,切换至「Admin Mode」修改权限后再切回用户模式。
内容的提问来源于stack exchange,提问作者Nicole I.
相关产品推荐
相关产品推荐

