2016-07-24 11 views
3

Ich bekomme OSError: dlopen() failed to load a library: cairo/cairo-2 beim Versuch, Django nach einer neuen Installation auszuführen. Verwenden von Windows.Getting "OSError: dlopen() konnte eine Bibliothek nicht laden: cairo/cairo-2" unter Windows

ich Weasyprint bin mit, scheint, dass man bezogen werden, nach der vollständigen Spur:

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 

Antwort

1

Siehe http://win32builder.gnome.org/ oder http://gtk-win.sourceforge.net/home/ für eine Liste von GTK + Bundles zu installieren. Dazu gehören die benötigten cairo/cairo-2 libs.

  • Extrahieren Sie den Inhalt des bin\-Ordners z. C:\Program Files (x86)\GTK2-bundle\ (beliebiges Verzeichnis tun würde)
  • das obige Verzeichnis Ihrer Umgebungsvariable PATH
  • hinzufügen
  • Entwicklungsumgebung neu starten (in meinem Fall PyCharm)
+0

In Fehlerbehebung, an Fenstern, die Sie brauchen, um wirklich kümmern zu Vermeiden Sie Pfadkonflikte in den Umgebungsvariablen. Ich hatte Visual Studio aktualisiert und eine andere Software-Suite installiert. Eines der Updates hatte einige meiner Pfade geändert, wodurch dieser Fehler auftauchte. – bmjjr