OSError:未找到名为“cairo-2”的库(从 Custom_Widgets 导入 ProjectMaker)

Ic3*_*Fox 6 python cmd

如何修复这个错误?

C:\Users\vanvl\OneDrive\Bureaublad\Progammeren\Project 1.02.2>python
Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from Custom_Widgets import ProjectMaker
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\vanvl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\Custom_Widgets\ProjectMaker.py", line 14, in <module>
    import cairosvg
  File "C:\Users\vanvl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cairosvg\__init__.py", line 26, in <module>
    from . import surface  # noqa isort:skip
  File "C:\Users\vanvl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cairosvg\surface.py", line 9, in <module>
    import cairocffi as cairo
  File "C:\Users\vanvl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cairocffi\__init__.py", line 48, in <module>
    cairo = dlopen(
  File "C:\Users\vanvl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cairocffi\__init__.py", line 45, in dlopen
    raise OSError(error_message)  # pragma: no cover
OSError: 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
cannot load library 'libcairo.2.dylib': error 0x7e
cannot load library 'libcairo-2.dll': error 0x7e
Run Code Online (Sandbox Code Playgroud)

Oil*_*ily 18

这是一个相当烦人的依赖问题,因为 cairocffi 不是为 Windows 构建的,您需要额外的依赖项,如下所述:https ://doc.courtbouillon.org/cairocffi/stable/overview.html#installing-cairo-on-windows

更快的解决方案是执行以下操作:我使用 pipwin,它从非官方存储库安装https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo

pip install pipwin

pipwin install cairocffi
Run Code Online (Sandbox Code Playgroud)

另请参阅此相关问题:get cairosvgworking in windows

  • 知道如何在 macOS 上解决同样的问题吗? (4认同)