web-dev-qa-db-ja.com

vimとpythonスクリプトのデバッグ

pythonスクリプトが* nixシステムにvimを残さないスクリプトをデバッグする方法(スクリプトの実行、ブレークポイントの設定、ウォッチリストでの変数の表示など))はありますか?

33
varnie

pdb を使用:

import pdb
def main():
  list = [1,2,3]
  pdb.set_trace()
  list = [2,3,4]

if __name__ == '__main__':
    main()

ここで:!python %を使用して実行すると、ブレークポイントに到達し、 gdb のようにインタラクティブにデバッグできます。

pyclewn を試してください。それはpdbのフロントエンドとしてvimを使用することができます。ブレークポイントの作成/削除、デバッグプロセスのフローの制御、変数の値の確認を行うことができます。すべてvimから!

7
ashim

https://pypi.python.org/pypi/pudb も試してください-pdbに似ていますが、より高度です。コードの強調表示、スタック、使用可能な値の表示などが含まれます。vimソリューションだけでなく、私にとっても完全に機能します。

3つのステップ:

インストール:

pipインストールpudb

コードにset_traceを貼り付け

from pudb import set_trace; set_trace()

コードを実行する

6
alexche8

Vimとpdb-cloneは私が使用する組み合わせです。私は Home-pyclewn を使用します。これは、pdb-cloneと呼ばれるpdbの代わりとなるもので、Vanilla pdbよりもかなり高速です。それはプラグインを介してvimとうまく統合します、そして私が最も感謝していることは、それがコードの外でブレークポイントを処理することです。 pythonの監視ウィンドウはまだありません。 vim-debug もご覧ください。既存の強調表示設定を操作できませんでした。 。

1

vimpdb プラグインは、PythonデバッガpdbをVIMエディタに統合します。

私はそれをお勧めします。

それが役に立てば幸い。

0
simone

this ブログ投稿の「デバッグ」セクションを参照してください。 F7を設定してブレークポイントを設定し、Shift + F7を設定してブレークポイントを削除する方法を示します。前述のように、pdbも使用します。少し変更するだけで、pdbの使用をipdbpdb using ipython )に置き換えることができます。

0
Walter