boost-python的导入错误。 ImportError:dlopen(... / ssss.so,2):找不到符号:__Py_tracemalloc_config

时间:2020-05-22 04:43:24

标签: boost boost-python

我正在尝试使用c ++扩展python3代码。所以我尝试了boost-python3。我遵循了wikibook的指示。

这是我的setup.py:

from distutils.core import setup
from distutils.extension import Extension

setup(name="PackageName",
    ext_modules=[
        Extension("ssss", ["ssss.cpp"],
        libraries = ["boost_python38"])
    ])

我执行了python3 setup.py build

clang ++ -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk build / temp.macosx-10.15-x86_64-3.7 / ssss.o -L / usr / local / lib -L /usr/local/opt/openssl@1.1/lib -L ​​/ usr / local / opt / sqlite / lib -lboost_python38-mt -o build / lib.macosx-10.15-x86_64-3.7 / ssss.cpython-37m-darwin。所以

但是,当我转到ssss.so所在的子目录时,尝试进入import ssss时会出现导入错误。

回溯(最近通话最近): 文件“”,第1行,位于 ImportError:dlopen(... / ssss / cpp_code / build / lib.macosx-10.15-x86_64-3.7 / ssss.cpython-37m-darwin.so,2):找不到符号:__Py_tracemalloc_config

引用自:/usr/local/opt/boost-python3/lib/libboost_python38-mt.dylib

应用于:平面名称空间 在/usr/local/opt/boost-python3/lib/libboost_python38-mt.dylib

我不知道这个奇怪的Symbol not found: __Py_tracemalloc_config来自哪里。

我尝试过的事情:

brew uninstall numpy
pip3 uninstall numpy
brew install numpy

otool -L .../ssss/cpp_code/build/lib.macosx-10.15-x86_64-3.7/ssss.cpython-37m-darwin.so

... / ssss / cpp_code / build / lib.macosx-10.15-x86_64-3.7 / ssss.cpython-37m-darwin.so:

/usr/local/opt/boost-python3/lib/libboost_python38.dylib(兼容版本0.0.0,当前版本0.0.0)

/ usr / lib / libc ++。1.dylib(兼容版本1.0.0,当前版本800.6.0)

/usr/lib/libSystem.B.dylib(兼容版本1.0.0,当前版本1281.0.0)

这是什么问题?

0 个答案:

没有答案