"BOKU"のITな日常

62歳・文系システムエンジニアの”BOKU”は日々勉強を楽しんでます

Python3の開発・デバッグにVisual Studio Codeを利用する:Windows10・Anaconda

pythonの開発環境を「Visual Studio Code」(以後、VsCode)に変更します。

まずはダウンロード・インストールと最低限のカスタマイズを行い、pythonスクリプトの実行とデバッグの方法と手順を確認していきます。

f:id:arakan_no_boku:20190425233546j:plain

 

前提の説明

 

OSは、Windows10です。

Anaconda(python3)はインストール済であることを前提にしてます。

自分の環境では、「conda create」でいくつかの仮想環境を作り、切り替えながらやっていますので、以後の内容にも「仮想環境」を選択するくだりがあります。

ただ、別に仮想環境が必須というわけではありません。

でも、Anacondaのインストールは必要なので、まだの場合は、以下のページなどを参考にして、インストールしておきます。

weblabo.oscasierra.net

なお、今はAnacondaをインストールする場合は、途中でVsCodeをインストールするか聞いてくるらしいので、続きでやっても良いのであれば、次のダウンロードの手順とかは必要ないかと思います。

 

ダウンロード&インストール

 

こちらからダウンロードします。

code.visualstudio.com

選択肢が3つあります。

  • User Installer :インストールしたユーザのみ利用できる。
  • System Installer :PCを使う全ユーザが利用できる。管理者権限要。
  • .zip :解凍のみで利用できる。ただし、自動アップデートの対象外になる。

今回は、PCを家族で共用する可能性もあるので、User Installerにしときます。

ダウンロードしたSetup.exeを実行し、指示に従ってインストールします。

特に悩むところはないと思います。

 

まずは基本設定(日本語化含む)から

 

Extentions(左の白枠)を選択して、Japanese Packがインストールされているのを確認します。

f:id:arakan_no_boku:20190426003718j:plain

あれば、「Ctrl + Shift + p」を押すか、右クリックメニュー「コマンドパレット」で、コマンドパレットを表示して、「Configure Display Language」を選びます。

f:id:arakan_no_boku:20190426004222j:plain

そしたら、選択肢がでてくるので、そこで「ja」を選べばよいです。

VsCodeが再起動して、日本語に変わります。

 

Python用のエクステンション

 

Pythonの開発には以下の2つのExtentionをインストールする必要があります。

  • Anaconda Extention Pack
  • Python

ただ、AnacondaをインストールしてからVsCodeをインストールしていると上記のように上記2つは、勝手にインストール済になってるはずです。

もし、なければ拡張機能(左の四角いアイコン)でウインドウを開き、「Marketpalceで拡張機能を検索する」のところに、「Py」とか「Anaconda」と入力すると、候補としてでてくるので、インストールボタンを押して、インストールします。

f:id:arakan_no_boku:20190427085559j:plain

最低限の環境設定はこれだけです。 

 

スタイルチェッカーをPEP8にする

 

ほぼ、デフォルトでそう困らないですけど、スタイルチェックだけ変更します。 

pep8というpython標準のコーディングスタイル規約にあわせます。

VSCodeで以下のように設定(setting.json)します。

    "python.linting.lintOnSave": true,
    "python.linting.pylintEnabled": false,
    "python.linting.pep8Enabled": false,
    "python.linting.flake8Enabled": true,
    "python.linting.flake8Args": [
        "--ignore=W293, W504",
        "--max-complexity",
        "20"
    ],
    "python.formatting.provider": "autopep8",
    "python.formatting.autopep8Args": [
        "--aggressive",
        "--aggressive",
    ],

上の「python.linting」の部分がチェックで、「python.formatting」の部分がフォーマッターです。

上記で、pep8Enabledをfalseにして、flake8EnabledをTrueにしてます。

flake8は、pep8のスタイルチェック+論理的なエラーチェックをやってくれる発展版なので、最近はそちらを使っているということです。

一部、チェックさせたくないものがあるので、設定ではずしているところがあります。

--ignore=W293, W504

の部分です。

W293、W504というのは、本記事の一覧のcodeです。

この辺は本記事の一覧を参考にしてもらって、適当に追加したり、外したりして自分好みにすればよいと思います。

arakan-pgm-ai.hatenablog.com

フォーマッターの方は記事の中で書いているautopep8のオプションをそのまま書いている感じなので、特に説明は必要ないかと思います。

VSCodeの場合は画面上で確認して上書き保存するので「--in-place」はいりません。

もちろん、設定を書いただけではダメで。

チェッカー

pip install flake8

フォーマッター

pip install autopep8

はインストールしないといけません。

こうしておくと。

ソースの編集都度リアルタイムでエラーチェックしてく修正箇所を教えてくれますし、エディタの「ドキュメントのフォーマット」でautopep8が動くようになります。

 

実行して動作確認する

 

フォルダを開くで、作業用フォルダを開きます。

f:id:arakan_no_boku:20190426214746j:plain

Ctrl+Shift+P でコマンドパレットを表示して、「Pythonインタプリターを選択」を選び、表示される選択肢からアクティブにする「環境(仮想環境)」を選びます。

ファイル>新規ファイル作成で、何かPythonのソースを書いて、何かスクリプトを動かしてみます。

いちいち入力するのも面倒なので、今回は、こちらの記事で紹介した「C曲線」を描くソースをコピペしました。

arakan-pgm-ai.hatenablog.com

ファイル>新規ファイルを開き、上記記事から「C曲線」のソースをコピペして、適当な名前をつけて保存します。

そして、ソースコード上で右クリックして「ターミナルでPythonファイルを実行」を選びます。
f:id:arakan_no_boku:20190426225001j:plain

そしたら。

f:id:arakan_no_boku:20190426225152j:plain

よしよし。

ここまではOKですね。

 

デバッグをする

 

上記のソースでブレイクポイントを設定して、ステップ実行だけやってみます。

ソースを開いて、ブレイクポイントを置きたい行を選択して「F9」キーを押します。

そうすると、こんな感じでブレイクポイントに赤い〇がつきます。

f:id:arakan_no_boku:20190427011504j:plain

あとはメニューから「デバッグの開始」を選びます。

そうすると、選択リストがでてきます。

ここでは「Python File」 というのを選びます。

f:id:arakan_no_boku:20190427011724j:plain

すると実行されて、ブレイクポイントで止まります。

f:id:arakan_no_boku:20190427012016j:plain

あとは、上のアイコンで少しずつ実行して、変数などの変化を確認していけば良いというわけです。

ちなみに、アイコンですが。

f:id:arakan_no_boku:20190427012235j:plain

左から。

  • 続行
  • ステップオーバー
  • ステップイン
  • ステップアウト
  • 再起動
  • 停止

となっています。

いい感じですね。

今回はここまでとしときます。