如果安装似乎正确,为什么在导入 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
查看评论本身,如果有任何效果,请告诉我。这个问题似乎没有一个明确的解决方案。
问题很简单。自从我使用 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
查看评论本身,如果有任何效果,请告诉我。这个问题似乎没有一个明确的解决方案。