首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows上获取"OSError: dlopen()无法加载库: cairo / cairo-2“

在Windows上获取"OSError: dlopen()无法加载库: cairo / cairo-2“
EN

Stack Overflow用户
提问于 2016-07-25 04:16:41
回答 3查看 11.5K关注 0票数 8

当我尝试在新安装后执行Django时,我得到了OSError: dlopen() failed to load a library: cairo / cairo-2。使用Windows。

我正在使用Weasyprint,根据完整的跟踪,似乎与那个相关:

代码语言:javascript
复制
Unhandled exception in thread started by <function wrapper at 0x03F605B0>
Traceback (most recent call last):
  File "C:\my-venv\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\my-venv\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "C:\my-venv\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception
    six.reraise(*_exception)
  File "C:\my-venv\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\my-venv\lib\site-packages\django\__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\my-venv\lib\site-packages\django\apps\registry.py", line 115, in populate
    app_config.ready()
  File "C:\my-venv\lib\site-packages\debug_toolbar\apps.py", line 15, in ready
    dt_settings.patch_all()
  File "C:\my-venv\lib\site-packages\debug_toolbar\settings.py", line 243, in patch_all
    patch_root_urlconf()
  File "C:\my-venv\lib\site-packages\debug_toolbar\settings.py", line 231, in patch_root_urlconf
    reverse('djdt:render_panel')
  File "C:\my-venv\lib\site-packages\django\core\urlresolvers.py", line 568, in reverse
    app_list = resolver.app_dict[ns]
  File "C:\my-venv\lib\site-packages\django\core\urlresolvers.py", line 360, in app_dict
    self._populate()
  File "C:\my-venv\lib\site-packages\django\core\urlresolvers.py", line 293, in _populate
    for pattern in reversed(self.url_patterns):
  File "C:\my-venv\lib\site-packages\django\utils\functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\my-venv\lib\site-packages\django\core\urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\my-venv\lib\site-packages\django\utils\functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\my-venv\lib\site-packages\django\core\urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "C:\Python27\Lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\my-project\project\urls.py", line 9, in <module>
    from utils.views import site_info, nav_autocomplete
  File "C:\my-project\utils\views.py", line 24, in <module>
    import weasyprint
  File "C:\my-venv\lib\site-packages\weasyprint\__init__.py", line 338, in <module>
    from .css import PARSER, preprocess_stylesheet  # noqa
  File "C:\my-venv\lib\site-packages\weasyprint\css\__init__.py", line 30, in <module>
    from . import computed_values
  File "C:\my-venv\lib\site-packages\weasyprint\css\computed_values.py", line 18, in <module>
    from .. import text
  File "C:\my-venv\lib\site-packages\weasyprint\text.py", line 18, in <module>
    import cairocffi as cairo
  File "C:\my-venv\lib\site-packages\cairocffi\__init__.py", line 46, in <module>
    cairo = dlopen(ffi, 'cairo', 'cairo-2')
  File "C:\my-venv\lib\site-packages\cairocffi\__init__.py", line 43, in dlopen
    raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to load a library: cairo / cairo-2
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-29 18:40:34

我收到以下错误信息:OSError: dlopen() failed to load a library: cairo / cairo-2 / cairo-gobject-2,在Windows10上。

包含上述库的GTK+库可以从https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer获得并安装,如https://weasyprint.readthedocs.io/en/latest/install.html#gtk64installer上所述。

请注意,您的开发环境需要重新启动才能读取PATH

票数 1
EN

Stack Overflow用户

发布于 2016-07-25 04:16:41

有关要安装的GTK+捆绑包的列表,请参阅http://win32builder.gnome.org/http://gtk-win.sourceforge.net/home/。其中包括所需的cairo/cairo-2库。

  • bin\文件夹的内容解压缩到例如C:\Program Files (x86)\GTK2-bundle\ (任何目录都可以)
  • 将上述目录添加到您的路径环境variable
  • Restart您的开发环境(在我的示例中为PyCharm)
票数 3
EN

Stack Overflow用户

发布于 2019-03-07 14:42:18

我在windows X64/Python37上也有同样的问题,但我修复了下面的链接:

遵循以下步骤:https://weasyprint.readthedocs.io/en/stable/install.html#windows,(我使用MSYS安装程序安装了gtk,并将C:\msys64\mingw32\bin添加到PATH变量,之后我出现了相同的错误,我删除了cairocffi python库并重新安装它)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38556368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档