我刚刚开始使用Cython,我正在尝试实现一个简单的Fibonacci函数,如下所述:
http://docs.cython.org/src/tutorial/cython_tutorial.html
问题在于,当我尝试在Spyder中运行给定输入的函数时,内核会死并且python崩溃。
具体来说,如果我打开Spyder并运行
%%file cython_fib.pyx
def fib(n):
a, b = 0, 1
while b < n:
print b,
a, b = b, a + b
然后创建文件cython_fib.pyx。然后我可以运行
import pyximport; pyximport.install()
import cython_fib
导入Cython函数cython_fib。在这个过程的这个阶段,Spyder正在使用大约80%的内存。当我尝试调用该函数时,
cython_fib.fib(2000)
Spyder中的IPython控制台会抛出错误
It seems the kernel died unexpectedly. Use 'Restart kernel' to continue using this console.
反复。
导致此次崩溃的原因是什么?显然使用Cython会占用大量内存,但这对于这样一个简单的例子来说不应该是一个问题。
我在Windows 7上使用Anaconda 2.0.1和Python 3.4。