当我在 mac 上启动我的烧瓶 python3 应用程序时,我遇到了这个错误。
OSError: 无法加载库 'gobject-2.0-0': dlopen(gobject-2.0-0, 2): image not found。此外,ctypes.util.find_library() 无法找到名为“gobject-2.0-0”的库
我在我的项目中使用 weasyprint 导致了这个问题。
我尝试安装 glib,它已安装在我的系统中
当我在 mac 上启动我的烧瓶 python3 应用程序时,我遇到了这个错误。
OSError: 无法加载库 'gobject-2.0-0': dlopen(gobject-2.0-0, 2): image not found。此外,ctypes.util.find_library() 无法找到名为“gobject-2.0-0”的库
我在我的项目中使用 weasyprint 导致了这个问题。
我尝试安装 glib,它已安装在我的系统中
我刚刚在我的 Mac M1 上解决了同样的问题。
问题是没有创建到库的符号链接(不能说安装时应该由 homebrew 还是 weasyprint 完成)。
所以,我不得不手动完成
sudo ln -s /opt/homebrew/opt/glib/lib/libgobject-2.0.0.dylib /usr/local/lib/gobject-2.0
sudo ln -s /opt/homebrew/opt/pango/lib/libpango-1.0.dylib /usr/local/lib/pango-1.0
sudo ln -s /opt/homebrew/opt/harfbuzz/lib/libharfbuzz.dylib /usr/local/lib/harfbuzz
sudo ln -s /opt/homebrew/opt/fontconfig/lib/libfontconfig.1.dylib /usr/local/lib/fontconfig-1
sudo ln -s /opt/homebrew/opt/pango/lib/libpangoft2-1.0.dylib /usr/local/lib/pangoft2-1.0
这解决了问题。
为了测试 Python 是否可以找到您可以运行的库
from ctypes.util import find_library
find_library('gobject-2.0') # Pass any other lib name as an argument
如果您weasyprint
在虚拟环境中安装了软件包,但没有为此安装一些必需的软件包,那么这可能就是原因。实际上,就我而言。
如果你是 mac 用户,你需要 install pango
and libffi
,更不用说 python 了。
brew install python pango libffi
(venv) pip install weasyprint
自制软件更新后我遇到了同样的问题。原来这个问题是因为旧的pango
lib版本。
我做了brew install pango
这个pango
从 1.48.2 -> 1.50.4 升级的 lib 在内部安装了 gobject 的最新版本作为 dep。我的问题得到了解决。