news 2026/7/3 20:21:38

【epub2pdf 转换器】OSError: cannot load library ‘libgobject-2.0-0‘: dlopen

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【epub2pdf 转换器】OSError: cannot load library ‘libgobject-2.0-0‘: dlopen

【epub2pdf 转换器】OSError: cannot load library ‘libgobject-2.0-0’: dlopen

文章目录

  • 【epub2pdf 转换器】OSError: cannot load library 'libgobject-2.0-0': dlopen
  • 报错信息:
  • 解决:
    • 方案 A(推荐,conda-forge 一把梭)
    • 方案 B(用 Homebrew 装依赖,但要处理库搜索路径)
    • 额外提醒:不要混用不同架构的库(Apple Silicon 常见坑)

报错信息:

----- WeasyPrint could not import some external libraries. Please carefully follow the installation steps before reporting an issue: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#installation https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#troubleshooting ----- Traceback (most recent call last): File "/Users/bytedance/ai/FreeBooks/epub2pdf_weasyprint.py", line 16, in <module> from weasyprint import HTML, CSS File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/__init__.py", line 440, in <module> from .css import preprocess_stylesheet # noqa: I001, E402 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/css/__init__.py", line 30, in <module> from ..text.fonts import FontConfiguration File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/text/fonts.py", line 17, in <module> from .constants import ( # isort:skip File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/text/constants.py", line 5, in <module> from .ffi import pango File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/text/ffi.py", line 476, in <module> gobject = _dlopen( ^^^^^^^^ File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/weasyprint/text/ffi.py", line 464, in _dlopen return ffi.dlopen(names[0], flags) # pragma: no cover ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/cffi/api.py", line 150, in dlopen lib, function_cache = _make_ffi_library(self, name, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/cffi/api.py", line 834, in _make_ffi_library backendlib = _load_backend_lib(backend, libname, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/miniconda3/envs/freebooks/lib/python3.12/site-packages/cffi/api.py", line 829, in _load_backend_lib raise OSError(msg) OSError: cannot load library 'libgobject-2.0-0': dlopen(libgobject-2.0-0, 0x0002): tried: 'libgobject-2.0-0' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibgobject-2.0-0' (no such file), '/opt/miniconda3/envs/freebooks/bin/../lib/libgobject-2.0-0' (no such file), '/usr/lib/libgobject-2.0-0' (no such file, not in dyld cache), 'libgobject-2.0-0' (no such file). Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0'

解决:

这个报错不是 Python 代码问题,而是WeasyPrint 依赖的系统动态库没装/没被当前环境找到libgobject-2.0-*属于GLib/GObject(WeasyPrint 还依赖 pango/cairo 等)。

你现在是在conda 环境里用pip install weasyprint,但 conda 环境里并没有这些原生库,所以dlopen找不到libgobject-2.0-0

方案 A(推荐,conda-forge 一把梭)

在当前环境中用 conda-forge 安装 WeasyPrint(会把 glib/pango/cairo 等依赖一起装好),并避免 pip 版冲突:

conda activate freebooks# 建议先卸载 pip 装的pip uninstall -y weasyprint# 用 conda-forge 安装(推荐)condainstall-c conda-forge weasyprint

装完验证:

python -c"from weasyprint import HTML; print('ok')"

如果你不想装完整 weasyprint 包,也可以只补依赖(但更容易踩坑):

condainstall-c conda-forge glib pango cairo gdk-pixbuf libffi harfbuzz fontconfig freetype

方案 B(用 Homebrew 装依赖,但要处理库搜索路径)

如果你坚持pip install weasyprint,那就在 macOS 上用 brew 补齐依赖:

brewinstallglib pango cairo gdk-pixbuf libffi harfbuzz fontconfig freetype

然后确保运行时能找到 brew 的.dylib(在 conda 里经常找不到),你可以临时加:

exportDYLD_FALLBACK_LIBRARY_PATH="$(brew --prefix)/lib:$DYLD_FALLBACK_LIBRARY_PATH"python -c"from weasyprint import HTML; print('ok')"

额外提醒:不要混用不同架构的库(Apple Silicon 常见坑)

你是/opt/miniconda3(大概率 arm64),如果 brew 在 Rosetta 下装成了 x86_64,动态库也会加载失败。可以分别看:

python -c"import platform; print(platform.machine())"brew config|grepCPU

如果你愿意,把下面两条输出贴出来,我可以帮你判断你该用 A 还是 B、以及是否存在架构混装问题:

conda info|grep-E"active env|platform"python -c"import platform; print(platform.platform(), platform.machine())"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 17:53:44

10种实测靠谱的降ai率工具名单:教你如何科学降低ai率,实现ai降ai,目前最全的免费降低ai率教程。

又到了论文开题季&#xff0c;很多同学发现&#xff0c;自己用AI辅助写完的论文&#xff0c;AIGC率高得吓人。明明只是润色&#xff0c;检测却显示“高风险AI生成”。面对这个论文降ai的难题&#xff0c;盲目手改往往收效甚微。 别慌。市面上已经有很多工具可以辅助降低ai率。今…

作者头像 李华
网站建设 2026/7/1 9:07:26

Node.js 真的是单线程?前端老铁别被忽悠瘸了!

Node.js 真的是单线程&#xff1f;前端老铁别被忽悠瘸了&#xff01;Node.js 真的是单线程&#xff1f;前端老铁别被忽悠瘸了&#xff01;先给“单线程”这仨字儿上柱香主线程日常&#xff1a;一个 event loop 的社畜生活libuv&#xff1a;藏在床底下的“时间管理大师”Worker …

作者头像 李华
网站建设 2026/7/2 2:32:21

HDFS 在大数据领域的数据存储发展方向

HDFS 在大数据领域的数据存储发展方向 关键词:HDFS、大数据存储、分布式文件系统、数据湖、存储架构、数据管理、未来趋势 摘要:本文深入探讨了Hadoop分布式文件系统(HDFS)在大数据领域的数据存储发展方向。我们将从HDFS的基本原理出发,分析其当前的技术架构和局限性,然后详…

作者头像 李华
网站建设 2026/6/26 17:44:03

如何构建生物制药企业一体化管理体系,赋能全产业链协同?

某国资体系生物技术公司是从事传染病相关研究和生物制品生产的机构&#xff0c;是一家集科研、生产、销售以及研究生培养为一体的综合性生物制药企业。 企业组织机构庞大、分布地域广&#xff0c;在管理行涉及的核心业务包括产品管理、批号管理、生产过程管理、设备管理、质量管…

作者头像 李华
网站建设 2026/7/2 3:44:44

关于 WEEX 唯客平台安全性的客观信息梳理

一、在信息密集环境中如何判断平台安全性在数字资产行业中&#xff0c;平台类型众多、信息来源复杂。用户在初次接触某一交易平台时&#xff0c;通过搜索其安全性、合规性与资金保障情况来进行核查&#xff0c;本身是一种理性的风险意识体现。但要区分合规运营的平台与存在风险…

作者头像 李华
网站建设 2026/7/2 3:57:22

基于GTE大模型的语义相似度实践|可视化WebUI+API集成方案

基于GTE大模型的语义相似度实践&#xff5c;可视化WebUIAPI集成方案 1. 背景与核心价值 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;语义相似度计算是构建智能搜索、推荐系统、问答引擎和文本聚类等应用的核心能力。传统方法依赖关键词匹配或TF-IDF等统计特征…

作者头像 李华