2

次の記事を見つけました: Timing and Profiling in IPython from March, 2013 ですが、マジックの定義と使用に問題があります。これは、記事の情報の一部がもはや当てはまらないためなのだろうか.

やった:

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

そして、IPython セッションで次のように定義しました。

import memory_profiler

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

私が試したとき:

%memit

私は得る: ERROR: Line magic function not defined. なんで?

また、2013年の記事はまだIPython 2.xに関連していますか?

4

1 に答える 1

1

記事の後半で説明するように、「モジュールを登録する」必要もあります。

~/.ipython/profile_default/ipython_config.py を編集し、これらのリストを検索してコメントを外し、以下を含めるように変更します。

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

プロファイルと拡張フォルダーを定義したとき、これはうまくいきました$IPythonDIR/extensions

インタラクティブシェルで関数を手動でインポートする場合、これを機能させる方法はわかりません。

于 2014-04-03T09:08:46.877 に答える