基本的な Cython チュートリアルを機能させようとしています。ので、私は持っています
hello.pyx
:
def say_hello_to(name):
print("Hello %s!" % name)
そしてsetup.py
:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [Extension("hello", ["hello.pyx"])]
setup(
name = 'Hello world app',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
ただし、コンパイルしようとすると、次のエラーが発生します。
$ python setup.py build_ext --inplace
running build_ext
failed to import Cython: dlopen(/usr/local/lib/python2.7/site-packages/Cython/Compiler/Scanning.so, 2): Symbol not found: _PyCFunction_Check
Referenced from: /usr/local/lib/python2.7/site-packages/Cython/Compiler/Scanning.so
Expected in: flat namespace
in /usr/local/lib/python2.7/site-packages/Cython/Compiler/Scanning.so
error: Cython does not appear to be installed
Cythonがインストールされておりscanning.so
、問題のシンボルが含まれているように見えます。
$ nm -gl /usr/local/lib/python2.7/site-packages/Cython/Compiler/Scanning.so | grep _PyCFunction_Check
U _PyCFunction_Check
何か案は?OS X 10.7.5 で自作の python 2.7.3 を使用しています。
編集:以下の@bdash'コメントで指摘されているように、U _PyCFunction_Check
実際に _PyCFunction_Check
は未定義であることを意味します。