python - 未找到符号:引用自:预期在:平面命名空间 | macOS 大苏尔
问题描述
我一直在尝试使用以下方法导入模块:
import pyexiv2
这会产生错误
Aruns-MacBook-Air:scripts arun$ python3 99-new-camera.py crop_field
Traceback (most recent call last):
File "99-new-camera.py", line 7, in <module>
import pyexiv2 # dnf install python3-exiv2 (py3exiv2)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyexiv2/__init__.py", line 60, in <module>
import libexiv2python
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/libexiv2python.cpython-37m-darwin.so, 2): Symbol not found: _PyCMethod_New
Referenced from: /usr/local/opt/boost-python3/lib/libboost_python39.dylib
Expected in: flat namespace
in /usr/local/opt/boost-python3/lib/libboost_python39.dylib
我已经安装了所有依赖项,我不明白为什么会出现这个错误。我在 macOS Big Sur 上运行 Python 3.7。有没有解决这个问题的方法?
我相信我已经从这篇文章中找到了解决问题的方法,该文章建议通过添加链接器标志来解决问题-lboost-python3
。如何添加链接器标志并解决此问题?
解决方案
推荐阅读
- android - 即时聊天 - 使用 Sinch 的 Android
- c# - 将 JSON 转换为 C# POCO
- android - Kotlin - 如何创建类似于 TextView.setText(String) 的类成员函数,可以作为 TextView.text = "" 调用
- angular - Angular 4 Typescript - 构造随后 7 天的日期数组
- sql - 我想透视表
- angular - 使用 Angular 4 / ionic 在模板中显示 const
- c++ - 如何在C++中创建一个n行5列的数组,但是n值在变化
- oracle - SQL避免在select语句中两次调用相同的函数
- python - Python - 删除 datafeame 单元格中的重复项
- spring - SpringBoot 不扫描命名包