2 Stimmen

Timing and Profiling in IPython 2.x

Ich habe den folgenden Artikel gefunden: Timing and Profiling in IPython von März 2013, aber ich habe Probleme damit, die Magics zu definieren und zu verwenden. Ich frage mich, ob dies daran liegt, dass einige Informationen im Artikel nicht mehr zutreffen.

Ich habe folgendes gemacht:

$ pip install line-profiler
$ pip install psutil
$ pip install memory_profiler 

und dann in meiner IPython-Sitzung definiert:

import memory_profiler

def load_ipython_extension(ip):
    ip.define_magic('memit', memory_profiler.magic_memit)
    ip.define_magic('mprun', memory_profiler.magic_mprun)

Wenn ich dann versuche:

%memit

bekomme ich: ERROR: Line magic function not defined. Warum?

Ist der Artikel von 2013 noch relevant für IPython 2.x?

1voto

Jan Punkte 4749

Sie müssen auch die Module "registrieren", wie später im Beitrag erklärt.

Bearbeiten Sie ~/.ipython/profile_default/ipython_config.py, suchen Sie nach, kommentieren Sie aus und ändern Sie diese Listen wie folgt:

c.TerminalIPythonApp.extensions = [ 'line_profiler_ext', 'memory_profiler_ext', ] c.InteractiveShellApp.extensions = [ 'line_profiler_ext', 'memory_profiler_ext', ]

Dies hat bei mir funktioniert, als ich ein Profil definiert und den Erweiterungsordner $IPythonDIR/extensions angegeben habe.

Nicht sicher, wie man dies zum Funktionieren bringt, wenn man die Funktionen manuell in der interaktiven Shell importiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X