ipdb my_script.py
を使用してPythonスクリプトをデバッグするときに、%paste
,%cd
のようなIPythonの魔法の機能を使用したいです。それは可能ですか?ipbシェルでIPythonの魔法の機能を使用する
15
A
答えて
12
ipdb Github repoによると、魔法のIPython関数は利用できません。幸いにも、IPython debuggerは、別個のIPythonシェルを起動せずにこの機能を取得する方法の手がかりを提供します。ここで
は私が%cpaste
を実行するためにやったことです:
ipdb> from IPython import get_ipython
ipdb> shell = get_ipython()
ipdb> shell.find_line_magic('cpaste')()
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:for i in range(0,5):
: print i
:--
0
1
2
3
4
この方法では、あなたのコードをステップとする方法find_line_magic(your_magic_function)
を経由して、すべてのIPythonの魔法の機能にアクセスすることができます。
9
pdbのように、スタック内にIPythonシェルを開くことができます。次の手順を実行します。
- IPythonからembed()をインポートし、コード内に配置します。
- スクリプトを実行し
例:Pythonのシェルで
from IPython import embed
def some_func():
i = 0
embed()
return 0
:
>>> te.func()
IPython 1.0.0 -- An enhanced Interactive Python.
(...)
In [1]: %whos
Variable Type Data/Info
i int 0
In [2]:
は、あなたが探していたものということでしたか?
関連する問題
- 1. 奇妙な__set()魔法の機能
- 2. ユーザマジック機能用のIPythonカスタムタブ補完
- 3. IPythonとbpythonの機能
- 4. 埋め込みIPythonシェル私は(IPython)コンソール
- 5. Emacsで複数のPythonシェルを使用するPythonまたはIPythonで 'python-mode'を使用する
- 6. ipythonを使用する場所とipthonシェルはどこですか?
- 7. 未定義の機能のための魔法?
- 8. 魔法のレコードは、私は魔法のレコードを使用しています
- 9. IPBのページコントローラ
- 10. IPythonシェルの行ラッピングの問題
- 11. CRONまたはシェルを使用しないキュー機能
- 12. デフォルトのシェルとしてIPythonのシステムシェルプロファイルを使用する方法(Windows 7 64ビット版)
- 13. qtconsoleモードでipythonでdjangoシェルを起動するには?
- 14. Pythonの文字列とUnicodeの強制/魔法の機能はどのように機能しますか?
- 15. Gtk +プログラムにIPythonシェルを埋め込む
- 16. ルビの魔法のコメント(#Encoding:utf-8)はどのように機能しますか?
- 17. iPythonとDjangoでプロファイルを使用する
- 18. iPython/JupyterでPlyを使用する
- 19. Virtualenvwrapper.sh機能はbashシェルで利用できません
- 20. スプリングボードサーバーでこの機能を使用する方法は?
- 21. のweb2py:LOADで使用する機能(アヤックス)
- 22. IPBのフォームにカスタムフィールドを追加する方法
- 23. シェルでのトラップコマンドの使用
- 24. Chrome拡張機能のページ機能を使用する
- 25. インタラクティブなIPythonシェルの関数からシェルコマンドを呼び出す
- 26. イニシャライザの機能を使用する - スウィフト?
- 27. オフラインでmapfragment機能を使用する
- 28. 範囲で機能を使用する
- 29. レトロフィットでコールエンキュー機能を使用する
- 30. アンダースコアでデバウンス機能を使用する
ipdbのコンテキスト(例えば、ローカル変数)を 'cpaste'に渡すことはできますか? –