web-dev-qa-db-fra.com

Cython dans Ipython: ERREUR: la magie cellulaire `%% cython` est introuvable

Lors de l'utilisation de cython dans le bloc-notes ipython, je vois l'erreur ci-dessous. Qu'est-ce qui ne va pas?

%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.
20
aman

L'avertissement tente de communiquer, c'est que l'extension définissant le %%cython magic a migré vers le package Cython, hors du package IPython. Donc au lieu de

%load_ext cythonmagic

tu devrais faire:

%load_ext Cython

Après cela, la magie du cython devrait fonctionner comme prévu.

42
minrk

N'oubliez pas de charger l'extension dans une cellule différente.

Si vous chargez et tilisez l'extension Cython dans la même cellule, vous tomberez en erreur:

En utilisant la même cellule:
Here the function does not exist

Utilisation d'une cellule différente:
This will work

0
alessiosavi