"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

Python3で開発できる環境を作る/Windows10・Anaconda・Visual Studio Code

f:id:arakan_no_boku:20210912183619p:plain

目次

対象OSとインストール

OSは、Windows10です。

Anacondaをインストールします。

www.anaconda.com

インストーラのガイドを確認しながら、やれば、そう悩むことはないと思いますので、ハードコピー等は割愛します。

続けて、Visual Studio Code(VSCode)を、こちらからダウンロードしてインストールします。

code.visualstudio.com

選択肢が3つあります。

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

自分は、User Installerにしていますので、以降はその前提になります。

こちらもインストーラの指示に従えば、とくに悩むことはないと思いますので、途中経過のハードコピー等は割愛します。

基本設定(日本語化含む)

別に必須ではありません。

メニューを日本語表示にしたい場合だは、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をインストールするとインストール済になってるはずですが、なければ拡張機能(左の四角いアイコン)から追加します。

ウインドウを開き、「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というのはエラーの種類を示すコードです。

以下の記事に一覧をのせてます。

意味の確認や、追加変更の判断は、こちらを確認ください。。

arakan-pgm-ai.hatenablog.com

フォーマッターの方は記事の中で書いている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の使い方はこちらを参照ください。

arakan-pgm-ai.hatenablog.com

実行して動作確認する

適当な場所に、pythonのソースを置く作業用フォルダを作成し、フォルダを開くで、その作業用フォルダを開きます。

f:id:arakan_no_boku:20190426214746j:plain

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」に追加すればいいです。

f:id:arakan_no_boku:20210913124748p:plain

環境変数を追加した後は、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

が表示されるはずです。

このプログラムはこちらの記事から拝借しました。

arakan-pgm-ai.hatenablog.com

デバッグをする

ここまでの設定でデバッグもできます。

動作確認したソースで適当にブレイクポイントを設定して、ステップ実行してみます。

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

ブレイクポイントを示す赤い丸がつきますので、メニューから「デバッグの開始」を選びます。

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

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

f:id:arakan_no_boku:20190427011724j:plain

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

確かに赤丸のついたprintのところで停止して、左側に、その時点の変数の値が表示されています・・・OKですね。

f:id:arakan_no_boku:20210913134135p:plain

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

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

f:id:arakan_no_boku:20190427012235j:plain

左から。

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

となっています。

今回はこんなところで。

ではでは。