【问题标题】:Cython in Ipython: ERROR: Cell magic `%%cython` not foundIpython 中的 Cython:错误:未找到单元魔术 `%%cython`
【发布时间】:2016-04-09 08:05:58
【问题描述】:

在 ipython 笔记本中使用 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.

【问题讨论】:

    标签: ipython cython


    【解决方案1】:

    警告试图传达的是定义 %%cython 魔法的扩展已移至 Cython 包,从 IPython 包中移出。所以不是

    %load_ext cythonmagic
    

    你应该这样做:

    %load_ext Cython
    

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

    【讨论】:

    • 如果您使用 pip 安装 ipython(即不使用 Anaconda 等分发工具),您需要先将 Cython 模块安装到 python 或 virtualenv:pip install Cython
    【解决方案2】:

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

    如果你在同一个单元格中加载使用 Cython 扩展,你会出错:

    使用同一个单元格:

    使用不同的单元格:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      相关资源
      最近更新 更多