在 macOS 12 上使用 Python@3.9 在 reportlab 的平面命名空间“_FT_Done_Face”中找不到符号
Symbol not found in flat namespace '_FT_Done_Face' from reportlab with Python@3.9 on macOS 12
我有一个使用 easy-thumbnail 作为依赖项的 django 项目。
使用 pip 安装所有包都按预期工作,但是当我尝试 运行 我的应用程序时出现此错误:
Invalid template library specified. ImportError raised when trying to load 'backend.templatetags.get_thumbnail': dlopen(/opt/homebrew/lib/python3.9/site-packages/reportlab/graphics/_renderPM.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_FT_Done_Face'
错误是从 reportlab 引发的,它是 easy-thumbnail 的依赖项。据我了解,reportlab 无法找到 freetype。但它安装正确恕我直言。
我使用的是 macOS 12.0.1
我通过 Homebrew 安装了 Python 和 freetype。 pkg-config 表示,freetype2 在预期路径中可用。
我做错了什么?我该如何解决这个问题?
编辑
我在失败的 .so 文件上做了 otool -l
,这就是我得到的(这里我在 venv 中再次 运行):
/Users/markusgerards/.pyenv/versions/myapp/lib/python3.9/site-packages/reportlab/graphics/_renderPM.cpython-39-darwin.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
我怀疑 freetype 应该列在那里...对吗?
我用这个命令重新安装了 reportlab:
pip install reportlab --force-reinstall --no-cache-dir --global-option=build_ext
这强制 pip 实际构建包,现在一切都按预期工作!
我将 M1 Mac Air 与 Python 3.8 一起使用,出于某种原因,@gerricom 的解决方案对我没有用。但是,简单的 pip uninstall reportlab
然后 pip install reportlab
解决了问题。
我有一个使用 easy-thumbnail 作为依赖项的 django 项目。
使用 pip 安装所有包都按预期工作,但是当我尝试 运行 我的应用程序时出现此错误:
Invalid template library specified. ImportError raised when trying to load 'backend.templatetags.get_thumbnail': dlopen(/opt/homebrew/lib/python3.9/site-packages/reportlab/graphics/_renderPM.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_FT_Done_Face'
错误是从 reportlab 引发的,它是 easy-thumbnail 的依赖项。据我了解,reportlab 无法找到 freetype。但它安装正确恕我直言。
我使用的是 macOS 12.0.1
我通过 Homebrew 安装了 Python 和 freetype。 pkg-config 表示,freetype2 在预期路径中可用。
我做错了什么?我该如何解决这个问题?
编辑
我在失败的 .so 文件上做了 otool -l
,这就是我得到的(这里我在 venv 中再次 运行):
/Users/markusgerards/.pyenv/versions/myapp/lib/python3.9/site-packages/reportlab/graphics/_renderPM.cpython-39-darwin.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
我怀疑 freetype 应该列在那里...对吗?
我用这个命令重新安装了 reportlab:
pip install reportlab --force-reinstall --no-cache-dir --global-option=build_ext
这强制 pip 实际构建包,现在一切都按预期工作!
我将 M1 Mac Air 与 Python 3.8 一起使用,出于某种原因,@gerricom 的解决方案对我没有用。但是,简单的 pip uninstall reportlab
然后 pip install reportlab
解决了问题。