Interactive Python: impossible d'obtenir la `%lprun " à travailler, bien que line_profiler est importé correctement

Problème

Plus iPython "fonctions magiques" beau travail pour moi dès le départ: %hist, %time, %prun, etc. Cependant, j'ai remarqué que %lprun n'a pas pu être trouvé avec iPython comme je l'avais installé à l'origine.

Tenter de Résoudre

Puis, j'ai découvert que je devrais installer le line_profiler module. J'ai installé ce module, mais encore ne peut pas sembler obtenir la fonction magique pour fonctionner correctement. Si je tente d'appeler %lprun, iPython ne trouvez toujours pas la fonction. Si je l'appelle par le nom complet ( line_profiler.magic_lprun ), la fonction peut être trouvé, mais je ne peut pas le faire fonctionner à tous. Ci-dessous est un exemple de ce que j'avais fait (ce qui est guidé étape par étape à partir de "Python pour l'Analyse des Données" livre):

Succès À L'Aide De %prun

[Dans:]

def add_and_sum(x, y):
    added = x + y
    summed = added.sum(axis=1)
    return summed

x = randn(3000, 3000)
y = randn(3000, 3000)

add_and_sum(x, y)

Avec cela je reçois une belle réponse, comme prévu:

[Out:]

array([-23.6223074 , -10.08590736, -31.2957222 , ..., -14.17271747,
    63.84057725, -50.28469621])

Et je peux faire le profilage fonction magique %prun:

[Dans:]

%prun add_and_sum(x, y)

[Out:]

6 function calls in 0.042 seconds

Ordered by: internal time

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    1    0.020    0.020    0.029    0.029 <ipython-input-27-19f64f63ba0a>:1(add_and_sum)
    1    0.013    0.013    0.042    0.042 <string>:1(<module>)
    1    0.009    0.009    0.009    0.009 {method 'reduce' of 'numpy.ufunc' objects}
    1    0.000    0.000    0.009    0.009 _methods.py:16(_sum)
    1    0.000    0.000    0.009    0.009 {method 'sum' of 'numpy.ndarray' objects}
    1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}

Échouer À L'Aide De %lprun

Mais quand j'essaie %lprun, je ne peux pas obtenir quoi que ce soit:

[Dans:]

%lprun -f add_and_sum add_and_sum(x, y)

[Out:]

ERROR: Line magic function `%lprun` not found.

Et si j'essaie d'appeler la fonction avec son nom standard, il n'y a pas de travail:

[Dans:]

line_profiler.magic_lprun -f add_and_sum.test test.add_and_sum(x, y)

[Out:]

line_profiler.magic_lprun -f add_and_sum.test test.add_and_sum(x, y)
                                       ^
SyntaxError: invalid syntax

Mais la bibliothèque a été importés correctement, ou du moins c'est ce qu'il dit:

[Dans:]

line_profiler

[Out:]

<module 'line_profiler' from '/Users/<edit>/anaconda/lib/python2.7/site-packages/line_profiler-1.0b3-py2.7-macosx-10.5-x86_64.egg/line_profiler.pyc'>

[Dans:]

line_profiler.magic_lprun

[Out:]

<function line_profiler.magic_lprun>

Il me semble que si il ya quelque chose en plus que je suis censé pour configurer de sorte que ces nouvelles fonctions magiques que j'ajoute peut être identifié comme tel. Je ne pouvais pas trouver quoi que ce soit via une recherche sur le web.

Je suis en cours d'exécution Spyder comme un IDE (toujours à l'aide de iPython comme la console), mais j'ai aussi essayé directement avec iPython et avec iPython notebook. J'ai pas eu de chance dans n'importe quel format.