Django + Intellijでのデバッグ
Djangoではdjango-debug-toolbarというツールが備わっているため、デバッグではそれを利用している人も多いと思います。
ただ、私はブレークポイントでのデバッグ作業に慣れきっているため、Intellijで設定を行なってデバッグできるようにしました。
設定作業でちょっと苦労したので、備忘がてら下記に設定方法を記します。
既にIntellijにPythonのSDKのpluginがインストールされている前提で話を進めます。
設定作業
まずはSDKにpycharm-debug.eggのパスを通します。
PythonのSDKがインストールされていればpycharm-debug.eggは入っているはずです。
FIle->Project Structure->SDKsと進み、下記のようにClasspathにpycharm-debug.eggを追加しましょう。
※わかりずらいですが、一番下のパスです。
次にデバッグの設定です。
Run->Edit Configurationsと進み、
Python Remote Debugを追加してください。
下記はもう追加後の画像になりますが、「+」を押下すれば追加できます。
Python Remote Debugで設定する箇所は以下の3点になります。
Portは今回適当に11111にしました。
後は上記画面に記載されているスクリプトをコードの中に書けばいいのですが、
僕はurls.pyに記載しました。
スクリプト実行時に通る箇所に書かないと意味がないようです。
プログラムの中にコードを追加しなければいかない点は、他の言語やフレームワークに比べてちょっと嫌な点ですね。
sys.path.appendの中はそれぞれの環境によるので、pycharm-debug.eggが配置されているパスを指定してください。
import sys sys.path.append('/Users/ユーザ名/Library/Application/Support/IntellijIdea14/python/pycharm-debug.egg') import pydevd pydevd.settrace('localhost', port=11111, stdoutToServer=True, stderrToServer=True)
後は下記のように設定したデバッグのNameを選んで、デバッグの虫のボタンを押下してください。
こんな風に接続待ちになればOKです。
後はコンソールでいつも通り「python manage.py runserver」と打てばブレークポイントで止まるようになります。
「python manage.py runserver」と打った直後は、pydevd.settrace()を書いてある箇所からデバッグが始まりますが、それは一度最後まで進めてしまえば、いつも通り
Starting development server at http://127.0.0.1:8000/
と出ますので、開発サーバは準備OKです。
後は画面からURLを入力して起動させれば大丈夫です。
理由はわからないのですが、なぜかブレークポイントで止まらないとか画面が開かない、ということがたまにあります。
その時は一度デバックを止めて、コンソールでもCtrl+Cでデバッグのサーバも止めてしまい、普通に実行させてみてください。
その後再度デバックを始めてみると動くことがあります。
なぜだか理由は全然わかりませんが。
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2017/05/23
- メディア: Kindle版
- この商品を含むブログを見る
スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)
- 作者: リブロワークス,株式会社ビープラウド
- 出版社/メーカー: インプレス
- 発売日: 2018/06/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 柴田淳
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/12/22
- メディア: 単行本
- この商品を含むブログ (2件) を見る