目次
対象OSとインストール
OSは、Windows10です。
Anacondaをインストールします。
インストーラのガイドを確認しながら、やれば、そう悩むことはないと思いますので、ハードコピー等は割愛します。
続けて、Visual Studio Code(VSCode)を、こちらからダウンロードしてインストールします。
選択肢が3つあります。
- User Installer :インストールしたユーザのみ利用できる。
- System Installer :PCを使う全ユーザが利用できる。管理者権限要。
- .zip :解凍のみで利用できる。ただし、自動アップデートの対象外になる。
自分は、User Installerにしていますので、以降はその前提になります。
こちらもインストーラの指示に従えば、とくに悩むことはないと思いますので、途中経過のハードコピー等は割愛します。
基本設定(日本語化含む)
別に必須ではありません。
メニューを日本語表示にしたい場合だは、Extentions(左の白枠)を選択して、Japanese Packがインストールされているのを確認します。
あれば、「Ctrl + Shift + p」を押すか、右クリックメニュー「コマンドパレット」で、コマンドパレットを表示して、「Configure Display Language」を選びます。
そしたら、選択肢がでてくるので、そこで「ja」を選べばよいです。
VsCodeが再起動して、日本語に変わります。
ちなみに、自分は英語のまま使っています。
Python用のエクステンション
Pythonの開発には以下の2つのExtentionが必要です。
- Anaconda Extention Pack
- Python
AnacondaをインストールしてからVsCodeをインストールするとインストール済になってるはずですが、なければ拡張機能(左の四角いアイコン)から追加します。
ウインドウを開き、「Marketpalceで拡張機能を検索する」のところに、「Py」とか「Anaconda」と入力します。
上記が、候補としてでてくるので、インストールボタンを押します。
最低限の環境設定はこれだけです。
スタイルチェッカーを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というのはエラーの種類を示すコードです。
以下の記事に一覧をのせてます。
意味の確認や、追加変更の判断は、こちらを確認ください。。
フォーマッターの方は記事の中で書いているautopep8のオプションそのままですが、
VSCodeの場合は画面上で確認して上書き保存するので「--in-place」はいりません。
もちろん、設定を書いただけではダメで。
チェッカー
pip install flake8
フォーマッター
pip install autopep8
のインストールが必要です。
こうしておくと。
ソースの編集都度リアルタイムでエラーチェックしてく修正箇所を教えてくれますし、エディタの「ドキュメントのフォーマット」でautopep8が動くようになります。
作業用の仮想環境を作る
続けて動作確認を行います。
anacondaの機能を使って仮想環境を作成します。
ターミナルメニューから、新しいターミナル(New terminal)を開いて、コマンドラインで以下のコマンドを実行して仮想環境を作ります。
conda create -n 仮想環境名 python=バージョン
自分の場合は「boku」という名前で、python3.8の仮想環境を作りました。
conda create -n boku python=3.8
できた環境の確認など、ocndaの使い方はこちらを参照ください。
実行して動作確認する
適当な場所に、pythonのソースを置く作業用フォルダを作成し、フォルダを開くで、その作業用フォルダを開きます。
Ctrl+Shift+P でコマンドパレットを表示して、「Pythonインタプリターを選択」を選び、表示される選択肢からアクティブにする「環境(仮想環境)」を選びます。
さきほど作成した仮想環境でいいと思います。
ファイル>新規ファイル作成で、何かPythonのソースを書いて、何かスクリプトを動かして動作確認します。
この時、VSCodeで「flake8」「autopep8」のインストールをするか聞いてくる場合があるので、その時は、素直に従ってインストールします。
そのとき
WARNING: The script autopep8.exe is installed in 'C:\xxxx\.conda\envs\boku\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
みたいなメッセージがでるときがあります。
その場合は、メッセージに表示されているパス(上記例だと"C:\xxxx\.conda\envs\boku\Scripts'”を環境変数のPATHに追加します。
システムのプロパティの「環境変数」ボタンで設定画面にはいって、そこの「PATH」に追加すればいいです。
環境変数を追加した後は、VSCodeを再起動したほうがいいかも・・です。
さて。
なんか、ソースを書いて実行してみます。
余分のライブラリとかがいらないほうが手軽なので、ハノイの塔を解くプログラムでもやってみます。
def hanoi(n, a, b, c): hanoi_imp(n, a, b, c) def hanoi_imp(n, a, b, c): if n <= 0: pass else: hanoi_imp(n - 1, a, c, b) print(a + u" → " + b) hanoi_imp(n - 1, c, b, a) hanoi(3, "A", "B", "C")
これを「math_hanoi.py」という名前で保存しターミナルで以下のように実行します。
python math_hanoi.py
うまくいったら、3ハノイの解。
A→B
A→C
B→C
A→B
C→A
C→B
A→B
が表示されるはずです。
このプログラムはこちらの記事から拝借しました。
デバッグをする
ここまでの設定でデバッグもできます。
動作確認したソースで適当にブレイクポイントを設定して、ステップ実行してみます。
ソースを開いて、ブレイクポイントを置きたい行を選択して「F9」キーを押します。
ブレイクポイントを示す赤い丸がつきますので、メニューから「デバッグの開始」を選びます。
そうすると、選択リストがでてきます。
ここでは「Python File」 というのを選びます。
すると実行されて、ブレイクポイントで止まります。
確かに赤丸のついたprintのところで停止して、左側に、その時点の変数の値が表示されています・・・OKですね。
あとは、上のアイコンで少しずつ実行して、変数などの変化を確認していけば良いというわけです。
ちなみに、アイコンですが。
左から。
- 続行
- ステップオーバー
- ステップイン
- ステップアウト
- 再起動
- 停止
となっています。
今回はこんなところで。
ではでは。