Cython在IPython中出错:ERROR:未找到单元格魔法`%%cython`。

28

在ipython notebook中使用cython时,我遇到了以下错误。出了什么问题?

%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.
2个回答

62

警告想要传达的是,定义%%cython魔法的扩展已经从IPython软件包中移动到了Cython软件包中。因此,您应该将

%load_ext cythonmagic

你应该做:

%load_ext Cython

之后,cython魔法应该能够按预期工作。


1
如果您使用pip(即不使用Anaconda等发行工具)安装ipython,则需要先将Cython模块安装到Python或virtualenv中: pip install Cython - xflin

7

请记得在不同的单元格中加载扩展程序。

如果您在同一个单元格中 加载使用 Cython 扩展程序,则会发生错误:

在同一个单元格中使用:
Here the function does not exist

在不同的单元格中使用:
This will work


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接