【VSCode】Pythonを1行毎に変数の中身見ながらステップ実行する方法ここあんぐるここから見えるモノ、やれるコトを。Code)でデバッグ環境を構築しました。VSCodeは動作も速く、手軽にステップ実行もできて効率的に開発できます。Python自体は文法が簡潔で読みやすいので、プログラミングの入門用の言語として初心者にオススメです。最近流行りの人工知能(AI)や機械学習、統計に使えるライブラリが豊富に有るので、覚えておきたい言語です。私の環境は以下の通りです。まとめプログラムのステップ実行とは?冒頭のアニメーションのように、プログラムを1行ずつ(もしくは複数行)動かしては止めてを繰り返しながら、プログラムの流れを追うデバッグの方法です。任意の行にブレークポイントを設置することで、実行中のプログラムをその行で止めることもできます。ステップ実行のメリットステップ実行ができる環境を構築すると、以下のことが可能になります。1行ずつ実行できるため、任意のタイミングでの変数の中身を確認することが可能。コードを変更する必要が無いため、print文を駆使するよりも効率的にデバッグが可能。ブレークポイントを設置すると、不具合がありそうな部分を重点的にデバッグが可能。デバッグ用のショートカットキーを覚えると、より効率的にデバッグが可能。1つのディレクトリ内でコマンドを実行しますこの記事では、/private/tmpをカレントディレクトリ(作業ディレクトリ)として使用します。ターミナルアプリを開いて、cdコマンドで移動しておきます。pwd/private/tmp$後述するコマンドは、全てこのディレクトリで実行するものとします。(基本的にコマンドを実行するディレクトリが統一されていれば、どこでもOKです。)Pythonをステップ実行するための環境構築をする最新のPythonのインストールMacにはデフォルトでPython2系がインストールされていますが、こちらの記事の方法で最新のpython3系をインストールします。anyenvでpythonの異なるバージョンをディレクトリ別に切り替えてインストールする方法anyenvで特定のディレクトリに指定したバージョンのpythonをインストールしました。簡単にディレクトリ毎にバージョンを切り替える事が可能で、他の言語でも同じフローで応用できて環境構築手順がシンプルになるメリットがあります。20:28以下のようにカレントディレクトリでpythonの最新版が実行できるようになればOKです。Mac]を押すと、VSCodeのzipファイルがダウンロードできます。ダウンロードしたzipファイルをダブルクリックすると、解凍結果としてVSCodeのappファイルが生成されます。このまま起動しても良いですが、Macのお作法としてアプリ(.appが付いているファイル)は「アプリケーション」ディレクトリに置くのが一般的なので、後で探しやすくする意味でもそちらに移動しておきます。アプリケーションディレクトリに移動したappファイルをダブルクリックして、VSCodeを起動します。VSCodeの拡張機能「Python」をインストール以下の手順で拡張機能「Python」を検索します。VSCodeのウィンドウの左端に縦に並ぶ5つのアイコンの、一番下の四角い[拡張機能]アイコンをクリックします。検索欄が表示されるので「python」と入力します。作者が「MicroSoft」の「Python」を選択します。拡張機能「Python」に関する情報が表示されるので、[インストール]をクリックしてインストールできます。インストールが完了したら、[再読み込み]を押すと拡張機能が使用可能になります。サンプルプログラムを作成する例として、以下のプログラムsample.pyを使用します。冒頭のアニメーションと同一のものです。3)print(c)まず、カレントディレクトリにsample.pyを作成します。ちなみに、このプログラムの出力結果は以下のようになります。[デバッグの開始]を選択する(もしくはF5を押す)と、プログラムが開始されて、その1行目(黄色いハイライト行)で処理が止まります。ここでF10を押すと、1行ずつプログラムを実行できます。以下はF10を数回押して10行目まで実行させた状態です。下部にあるデバッグコンソールには、プログラムのその行までにあるprint文が出力した結果が表示されます。cなど)が左側に表示されます。右側のプログラム中の変数cの上にマウスポインタを置くと、これが現在5であることが確認できます。このようにしてステップ実行することで、プログラム実行途中での変数の状態を簡単に確認することができます。ショートカットキーを用いたデバッグその他にも以下のショートカットキーを用いると、デバッグをより効率良く進めることができます。次のブレークポイント、もしくはプログラム終了まで処理を進める冒頭のアニメーションの前半でも、これら4つのキーを使ってステップ実行をしています。F11はMacのデフォルトの状態だと「デスクトップを表示」のショートカットキーとして設定されている場合があります。以下の記事の方法でF11をステップインとして動作させることができます。【Mac】VSCodeでステップイン(F11)させるショートカットキーの設定方法MacのVSCodeでステップインするショートカットキー周りの設定を変更する方法をまとめました。F11キーはVSCodeと重複して、MacOSのデフォルトで「デスクトップ表示」機能のショートカットキーとしても設定されていることが原因です。15:48ブレークポイントを用いたデバッグ各行番号の左側をクリックすると、赤丸(ブレークポイント)が表示されます。これを設置することで、プログラムをF5(続行)で実行させたときに、以下のようにその行で処理を止めることができます。World!’が代入されていることが分かります。まとめVSCodeでPythonプログラムをステップ実行するための環境構築の手順をまとめました。ステップ実行ができると、プログラムの動きを把握しやすくなり、効率的にデバッグできます。時にはprint文やログ出力のみでデバッグしなければならない場合もあります。ステップ実行ができる状況の場合は出来る限りその環境を構築した方が、初期コストはかかりますが、トータルするとプログラムの多くの不具合をより早くデバッグできます。【Mac】Atomエディタの挙動が変でアンインストールしたら動いたMacのAtomを完全にアンインストールするには、アプリケーションディレクトリにあるAtom.appを削除するだけでは不足です。様々なディレクトリに散らばっている関連ファイルを削除する必要があるため、それらをまとめました。記事を読む【Mac】Evernoteでダブルクォートの意図しない自動変換を無効にする方法Evernoteやテキストエディットでダブルクォートなどが自動変換されてしまう時は、Mac側の設定から「スマート引用符とスマートダッシュを使用」のチェックをオフにするだけでこれを無効化できます。Macの共有ディレクトリを設定して、vオプションでコンテナ内から参照する手順をまとめました。Macにあるファイルをコンテナからアクセスするには、共有ディレクトリを設定する必要があります。GUIを操作するだけで簡単です。記事を読む【Atom】最新のPlantUMLをインストールしてbreak文をループ内に書く方法Atomのplantuml-viewerに最新バージョンのPlantUMLをインストールして、今まで書けなかったアクティビティ図のbreak文を使う方法をまとめました。手動アップデートして新しい記法が使えるのでUMLの表現の幅が広がります。記事を読む見えない文字「U+0008」の潜伏場所をSublimeTextとCotEditorで暴く方法テキストエディタ「SublimeText」と「CotEditor」を使い、「U+0008」という見えない文字を探してエラーを解消できました。それぞれのエディタは文字の位置とUnicodeのコードポイントを表示する機能があります。記事を読む【Atom】テキストのみで書いたUMLを「PlantUML」でリアルタイムプレビューさせる方法AtomでPlantUML形式のコードをリアルタイムプレビューさせる環境の構築手順をまとめました。テキストのみで書くためgitで管理がしやすいです。パーツの位置は自動調整され、リアルタイムでUMLを確認できるので、UML作成が捗ります。記事を読む【VSCode】Docker上で動くPythonに接続してリモートデバッグする方法ローカルマシンで動くDockerコンテナ上で実行されているpythonプログラムを、VSCodeでステップ実行する手順をまとめました。「ptvsd」というライブラリを組み合わせることで、VSCodeでリモートデバッグが可能になります。記事を読む【Atom】Markdownで書けないテーブル縦横結合をTextileでリアルタイムプレビューさせる方法ブラウザまたはAtomでテーブル縦横のセル結合をTextile記法で書いてリアルタイムプレビューする手順をまとめました。TextileはMarkdownと同様、文書からHTMLに変換でき、Markdownに比べて表現の幅が広いです。する手順をまとめました。Chromeの検索履歴に比べ日付指定をして履歴の検索をすることが可能で、Googleアカウントを作成した当時の検索履歴も見ることができます。記事を読む【Evernote】無料容量を消費しないローカルノートブックの使い方ローカルマシンにデータを保存するローカルノートブックを使えば、Evernoteの無料容量を消費しないでノートを編集できます。動作も軽快で、同期ノートブックよりも操作をサクサク可能になるので作業効率がアップします。コメントをキャンセルメールアドレスが公開されることはありません。