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. csvファイルを保存してiPythonシェルを開いて使用する方法は?
- 5. iPythonシェルでファイルを手動でリロードする方法
- 6. 埋め込みIPythonシェル私は(IPython)コンソール
- 7. IPBのページコントローラ
- 8. Emacsで複数のPythonシェルを使用するPythonまたはIPythonで 'python-mode'を使用する
- 9. IPythonシェルの外側にpipをインストールする方法
- 10. ipythonを使用する場所とipthonシェルはどこですか?
- 11. 魔法のレコードは、私は魔法のレコードを使用しています
- 12. 未定義の機能のための魔法?
- 13. scrapyシェルはipythonを使用していません
- 14. bashファイルのシェル機能
- 15. IntelliJ/PhpStormのインライン@varで魔法のフィールドを使用する
- 16. IPythonシェルのラッパーを書くには?
- 17. スクリプト内でIPythonの%%時間魔法を使ってCPU時間を測定する
- 18. IPythonシェルの行ラッピングの問題
- 19. デフォルトのシェルとしてIPythonのシステムシェルプロファイルを使用する方法(Windows 7 64ビット版)
- 20. CRONまたはシェルを使用しないキュー機能
- 21. Pythonの文字列とUnicodeの強制/魔法の機能はどのように機能しますか?
- 22. qtconsoleモードでipythonでdjangoシェルを起動するには?
- 23. XPath式は、スパイダーのスパイダーでは機能しませんが、シェルのシェルです
- 24. ルビの魔法のコメント(#Encoding:utf-8)はどのように機能しますか?
- 25. IPBのフォームにカスタムフィールドを追加する方法
- 26. Gtk +プログラムにIPythonシェルを埋め込む
- 27. Ember - 他のコントローラー機能でコントローラー機能を使用する
- 28. iPythonとDjangoでプロファイルを使用する
- 29. iPython/JupyterでPlyを使用する
- 30. Python:使用すべきでない魔法のメソッド
ipdbのコンテキスト(例えば、ローカル変数)を 'cpaste'に渡すことはできますか? –