尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
mkdocs-material 报 Cairo 库未找到(no library called cairo)怎么处理
mkdocs-material 报 Cairo 库未找到no library called cairo怎么处理【免费下载链接】mkdocs-materialDocumentation that simply works项目地址: https://gitcode.com/GitHub_Trending/mk/mkdocs-material在 Material for MkDocs 中启用 social 插件生成社交卡片或 optimize 插件图片优化后执行构建时可能遇到这样的报错no library called cairo-2 was found no library called cairo was found no library called libcairo-2 was found cannot load library libcairo.so.2: error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called libcairo.so.2 cannot load library libcairo.2.dylib: error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called libcairo.2.dylib cannot load library libcairo-2.dll: error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called libcairo-2.dll按 image processing 需求指南 的说法这个错误的含义是cairosvg包已经安装成功但它底层的cairocffi依赖在系统里找不到已安装的 Cairo Graphics 库。也就是说 Python 侧的依赖齐了缺的是系统侧的 Cairo 动态库或者当前终端的环境变量没有指向它。确认你确实装了 Cairo 库报错的前提是已经安装过 Cairo Graphics。如果没有先按你的操作系统补齐这些命令来自官方需求指南macOS需先安装 Homebrewbrew install cairo freetype libffi libjpeg libpng zlibWindows在 MSYS2 的 UCRT64 环境 shell 中执行这是 MSYS2 开发者推荐的环境pacman -S mingw-w64-ucrt-x86_64-cairoLinux按发行版选择# Ubuntu apt-get install libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev# Fedora yum install cairo-devel freetype-devel libffi-devel libjpeg-devel libpng-devel zlib-devel# openSUSE zypper install cairo-devel freetype-devel libffi-devel libjpeg-devel libpng-devel zlib-develPython 侧的依赖通过imagingextra 安装会同时装好 Pillow 和 CairoSVG 的兼容版本pip install mkdocs-material[imaging]两个例外官方 Docker 镜像和 GitHub ActionsUbuntu已经预装了 Cairo Graphics在这些环境里不需要执行上面的系统包安装步骤。先做的快速检查重启终端和 IDE官方文档给出的第一条建议成本最低也最容易忽略安装系统库的过程中往往会改变环境变量而已经打开的终端以及 IDE 这类父进程不会自动加载新变量。在继续往下排查之前先把所有打开的终端窗口和 IDE 完全重启一次然后重新运行构建——文档称这一步可能就是快速修复the quick fix。macOS设置 DYLD_FALLBACK_LIBRARY_PATH在 macOS 上库查找会检查 [dyld] 定义的路径并且每个库名会按libname.dylib、name.dylib和name.framework/name三种变体检查。Homebrew 正常情况下会自动设置好指向已安装库目录的变量但如果它没做到文档给出的已知 workaround 是在运行 MkDocs 之前手动导出 Homebrew 的 lib 路径export DYLD_FALLBACK_LIBRARY_PATH/opt/homebrew/lib如果不确定系统实际在哪些路径里找库可以运行官方提供的调试脚本 cairo-lookup-macos.py。它会遍历cairo-2、cairo、libcairo-2三个库名的全部变体逐个打印每个候选路径是Found: path还是Doesnt exist: path最后输出The path is path找到时的结果或The path is not foundFFI 实际会尝试加载的文件列表libcairo.so.2、libcairo.2.dylib、libcairo-2.dll等。看到全部路径都是Doesnt exist说明库路径确实不在 dyld 搜索范围内此时用上面的DYLD_FALLBACK_LIBRARY_PATH指向实际安装目录。Windows把 UCRT64 的 bin 目录加入 Path在 Windows 上库查找只检查环境变量PATH中定义的路径且每个库名按name和name.dll两种变体检查。用 MSYS2 的 UCRT64 环境安装后Cairo 的默认二进制与共享库路径是C:\msys64\ucrt64\bin先用 PowerShell 确认这个路径是否已在PATH里$env:Path -split ;如果列表中没有C:\msys64\ucrt64\bin按文档的步骤补上按 windowsr运行SystemPropertiesAdvanced应用。在底部选择 Environmental Variables。把上面那个目录的完整路径添加到你的Path变量中。在所有打开的窗口上点 OK 以应用更改。完全重启所有打开的终端窗口及其父进程IDE 等。也可以运行官方调试脚本 cairo-lookup-windows.py 直接看每个PATH条目下的查找结果Found:/Doesnt exist:以及最终The path is ...的结论从而确认缺的是哪一个目录。Linux扩展 LD_LIBRARY_PATH 或修改 /etc/ld.so.confLinux 上的库查找方式因发行版差异很大。文档以经过测试的 Ubuntu 和 Manjaro 为例说明Python 会运行 shell 命令依次通过ldconfig、gcc/cc编译器、ld链接器这几个途径检查系统里有哪些可用库。官方给出的处理方式有两种任选其一把包含libcairo.so等库的目录的绝对路径追加进LD_LIBRARY_PATH在运行 MkDocs 之前执行export LD_LIBRARY_PATH/absolute/path/to/lib:$LD_LIBRARY_PATH其中/absolute/path/to/lib是文档中的占位符需要替换成你系统里libcairo.so所在的库目录的绝对路径例如用find / -name libcairo.so.2定位后填入。另一种方式是修改/etc/ld.so.conf文件把库目录写进去该文件属于系统级配置改动影响全机器需要相应权限。要弄清你的发行版具体执行了哪些查找命令可以运行调试脚本 cairo-lookup-linux.py。它会打印当前LD_LIBRARY_PATH的值然后对cairo-2、cairo、libcairo-2三个名字分别执行_findSoname_ldconfig、_findLib_gcc、_findLib_ld、_findLib_crle四个查找函数逐个显示各自的返回结果Found path或无结果最后给出The path is path或The path is not found的总结论以及 FFI 会尝试加载的文件列表。对照这份输出就能判断是LD_LIBRARY_PATH没配还是库本身没装。验证修复是否生效修复是否成功以重新运行 MkDocs 构建的结果为准上面那组no library called cairo/cannot load library ...报错不再出现。如果报错来自 social 插件生成社交卡片这一步构建完成后卡片图片会缓存在site目录下默认是site/assets/images/social能看到对应页面生成的社交卡片图片说明 Cairo 链路已经通了。如果重启终端、设置完环境变量后仍然报同样的错回到对应平台的调试脚本确认它最终打印的到底是not found还是某个存在但 FFI 无法加载的路径——前者回到“确认你确实装了 Cairo 库”一节检查系统包是否真的装上了后者再对照该平台的查找机制macOS 看 dyld 路径与变体、Windows 看PATH、Linux 看LD_LIBRARY_PATH与ldconfig逐项核对。另一点边界如果你是在 CI 里构建Docker 镜像和 GitHub Actions 的 Ubuntu 环境自带 Cairo本地能修好而 CI 里仍报错时先确认 CI 实际运行的镜像/runner 是否属于这两类预装环境。【免费下载链接】mkdocs-materialDocumentation that simply works项目地址: https://gitcode.com/GitHub_Trending/mk/mkdocs-material创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

论文AIGC率过高怎么办?2026年亲测三款工具:80%降至5%去AI痕迹,含DeepSeek+豆包+Gemini

论文AIGC率过高怎么办?2026年亲测三款工具:80%降至5%去AI痕迹,含DeepSeek+豆包+Gemini

谁懂啊!熬了好几个通宵憋出来的论文,就因为逻辑太顺畅、用词太规整,AI检测直接飘红,那种委屈感真的想摔鼠标! 为了帮大家搞定降AI率的难题,我对着DeepSeek、豆包、Gemini这三大主流模型,摸索出…

📅 2026/9/14 18:23:17
FastAPI WebSocket 测试实战:TestClient 连接与消息断言

FastAPI WebSocket 测试实战:TestClient 连接与消息断言

FastAPI WebSocket 测试实战:TestClient 连接与消息断言 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi 场景锚点 给 Fast…

📅 2026/9/14 18:23:17
基于Hadoop+Spark的小红书评论情感分析系统设计与实现

基于Hadoop+Spark的小红书评论情感分析系统设计与实现

1. 项目背景与核心需求解析这个毕业设计项目瞄准了当前社交电商平台数据分析的热点需求——通过大数据技术实现小红书评论的情感倾向分析。小红书作为国内领先的社交电商平台,每天产生海量用户评论数据,这些数据蕴含着用户对产品的真实感受和市场反馈。传…

📅 2026/9/14 18:23:17
MORE NEWS

更多资讯

📰

网盘直链下载助手完整指南:一次获取九大网盘真实下载直链

网盘直链下载助手完整指南:一次获取九大网盘真实下载直链 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…

📰

DS1302三线协议驱动详解:STM32 GPIO模拟时序与BCD时间校准

1. DS1302不是“普通IC器件”,它用的是三线同步串行协议——这是所有初学者踩坑的起点刚接触DS1302时,我手头只有STM32F103C8T6最小系统板和一块带电池的DS1302模块,照着某论坛“STM32DS1302”教程抄代码,烧录后串口打印全是0x00或…

📰

BLE广播者模式功耗优化与CH592芯片实践

1. 广播者模式的基础概念与功耗特性在低功耗蓝牙(BLE)开发领域,广播者(Broadcaster)模式是最基础的工作方式之一。这种模式下设备会周期性地发送广播包,但不会建立任何连接。沁恒微电子的CH592系列芯片作为…

📰

Simulink频率响应法控制器设计与实现

1. Simulink频率响应法控制器设计概述频率响应法是控制系统设计中一种经典且实用的方法,它通过分析系统在不同频率下的响应特性来设计控制器。在Simulink环境下实现这一过程,可以充分发挥可视化建模的优势,让复杂的控制理论变得直观可操作。我…

📰

彩色绕线画制作技术:色彩优化与密度控制算法

1. 彩色绕线画的艺术价值与技术痛点 彩色绕线画作为一种新兴的手工艺品形式,近年来在DIY爱好者圈子里越来越受欢迎。这种艺术形式通过在不同位置的钉子上缠绕彩色线绳,形成具有立体感和层次感的图案。与传统绘画不同,绕线画通过线条的叠加和交…

📰

Sympy physics.vector 深度解析:向量、参考系与刚体运动学的符号化建模

Sympy physics.vector 深度解析:向量、参考系与刚体运动学的符号化建模 【免费下载链接】sympy A computer algebra system written in pure Python 项目地址: https://gitcode.com/GitHub_Trending/sy/sympy 在 sympy 中,sympy.physics.vector 是…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬