如果安装似乎正确,为什么在导入 cairo 时会出现 ImportError?

Why I get an ImportError while importing cairo if the installation seems to be correct?

问题很简单。自从我使用 M1 MacBook 以来,我已经用 Homebrew 安装了 Python 和 Cairo。尝试导入包时,出现此错误:

>>> import cairo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/_cairo.cpython-39-darwin.so, 2): Symbol not found: _cairo_append_path
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/_cairo.cpython-39-darwin.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/_cairo.cpython-39-darwin.so

提前致谢。

查看 this issue over on their GitHub, and in particular this comment,您可以尝试几件事:

  • 如果您还没有使用 Python 3.9(并在终端中使用 python3
  • 像现在一样卸载 pycairo 并使用 homebrew 安装 py3cairo
  • 使用 python3--system-site-package 选项创建一个新的 venv,即 python3 -m venv --system-site-package path/to/env

查看评论本身,如果有任何效果,请告诉我。这个问题似乎没有一个明确的解决方案。