谁能帮我解决这个问题?
ImportError: dlopen(/Users/......./venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so, 2): Symbol not found: __PyEval_GetBuiltinId
Referenced from: /Users/......./venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so
Expected in: flat namespace
in /Users/......../venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so
Run Code Online (Sandbox Code Playgroud)
我正在使用 Mac(如果有相关的话)
我正在尝试在MacOSX Yosemite上安装PyFTGL.
我使用的python版本是来自macports的2.7.我从macports安装了boost + python27.
要安装从源代码构建的PyFTGL,并从以下位置编辑setup.py文件:
module_ftgl_libs = [
'GLU',
'GL',
'freetype',
'z',
'ftgl',
'boost_python',
]
module_ftgl = Extension(
'FTGL',
module_ftgl_src,
include_dirs=module_ftgl_include_dirs,
libraries=module_ftgl_libs
)
Run Code Online (Sandbox Code Playgroud)
至:
module_ftgl_libs = [
'freetype',
'z',
'ftgl',
'boost_python',
]
module_ftgl = Extension(
'FTGL',
module_ftgl_src,
include_dirs=module_ftgl_include_dirs,
libraries=module_ftgl_libs,
extra_link_args=['-framework', 'OpenGL', '-framework', 'GLUT']
)
Run Code Online (Sandbox Code Playgroud)
然后我构建setup.py文件并将生成的FTGL.so文件复制到与使用FTGL函数的python代码test.py相同的文件夹中.
我的问题是,当我现在运行我的代码时,我收到以下错误:
Traceback (most recent call last):
File "test.py", line 29, in <module>
import FTGL
ImportError: dlopen(/Users/james/Desktop/test/FTGL.so, 2): Symbol not found:__ZN5boost6python7objects15function_objectERKNS1_11py_functionERKNSt3__14pairIPNS0_6detail7keywordESA_EE
Referenced from: /Users/james/Desktop/test/FTGL.so
Expected in: flat namespace
in /Users/james/Desktop/test/FTGL.so
Run Code Online (Sandbox Code Playgroud)
我不太了解链接,setup.py文件和提升,我花了很长时间研究Google和Stack Overflow,但现在我无法弄清楚问题.