Ipython中的Cython:错误:未找到Cell magic` %% cython`

ama*_*man 19 ipython cython

cython在ipython笔记本中使用时,我看到下面的错误.怎么了?

%load_ext cythonmagic
/usr/local/lib/python2.7/dist-packages/IPython/extensions/cythonmagic.py:21: UserWarning: The Cython magic has been moved to the Cython package
      warnings.warn("""The Cython magic has been moved to the Cython package""")



%%cython
def fib(int n):
    cdef int a,b,i
    for i in range(n):
        a,b=a+b,b
    return a 

ERROR: Cell magic `%%cython` not found.
Run Code Online (Sandbox Code Playgroud)

min*_*nrk 43

试图传达的警告是,定义%%cython魔法的扩展已移至IPython包中的Cython包.而不是

%load_ext cythonmagic
Run Code Online (Sandbox Code Playgroud)

你应该做:

%load_ext Cython
Run Code Online (Sandbox Code Playgroud)

在那之后,cython魔法应该按预期工作.


ale*_*avi 8

请记住将扩展加载到不同的单元格中。

如果您在同一单元中加载使用Cython 扩展,则会出现错误:

使用相同的单元格:
这里该函数不存在

使用不同的单元格:
这会起作用