我的Cython库编译得很好但是当我尝试导入它时,我得到undefined symbol: PyPyExc_TypeError
。我不知道这是从哪里来的。 PyPyExc_TypeError
不会出现在Cython生成的文件中的任何位置。我在一个virtualenv中安装了Cython 0.27.3以确保它是干净的。
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: ./hi.so: undefined symbol: PyPyExc_TypeError
>>>
这是我设计的hi.pyx
来证明
cpdef hi():
return 'hi'
编译
cython hi.pyx
gcc hi.c -I /usr/lib/python2.7/ -fPIC -shared -o hi.so -pthread -lpython2.7