Python
python3
VSCode
Pipenv

Windows + Python 3.6 + PipEnv + Visual Studio Code でPython開発環境

■ 環境

  • Windows 10
  • Python version 3.6
  • PipEnv version 2018.7.1

■ Python のインストール

Python公式サイトより、ダウンロード。
ここでは python-3.6.5-amd64.exe を使用しています。

インストーラを実行し、Pythonをインストールします。
注意点は以下です。

  • pip のインストールを行うこと(-> 2ページ目 「pip」をチェック)
  • Python を環境変数に追加すること(-> 3ページ目 「Add Python to environment variables」をチェック)

Python_Install-1.png
Python_Install-2.png
Python_Install-3.png

■ PipEnv のインストール

コマンドプロンプトを起動し、以下を実行します。

pip install pipenv

● 環境変数の追加

デフォルトですと PipEnv はユーザーホーム配下にインストールしたパッケージを格納します。
以下の環境変数を追加することによって、プロジェクトのディレクトリに格納されるようになります。

  • PIPENV_VENV_IN_PROJECT : true

PipEnv_環境変数.png

■ VS Code の初期設定

● 拡張機能

以下の拡張機能をインストールします。
必要な拡張機能がまとめて入っています。

  • Python Extension Pack

VSCode_拡張機能.png

● VS Code の設定

ファイル -> 基本設定 -> 設定 で以下の設定を追加します。
プロジェクトディレクトリ配下の.venvの仮想環境が使用されるようになります。

"python.venvPath": ".venv",

■ VS Code のプロジェクト作成~実行まで

● プロジェクトフォルダの作成 & PipEnv環境作成

適当な場所にプロジェクトディレクトリを作成し、VS Codeで開きます。
VSCode_VSCodeで開く.png

表示 -> 統合ターミナル でターミナルを開き、PipEnvコマンドを実行します。
引数は使用する Python のバージョンに合わせて変更してください。

pipenv --python 3.6

VSCode_PipEnv実行.png

実行すると、以下がプロジェクト直下に作成されます。

  • .venv
  • PipFile

● 実行構成の追加

VS Code で作成したプロジェクトディレクトリを開き、デバッグタブで「構成の追加」->「Python」を選択します。

デバッグ-構成追加.png
デバッグ-構成追加-2.png

すると .vscode/launch.json が作成され、エディターが開きます。
「"name": "Python: Current File"」の箇所に以下のように「"env"」の設定を追加します。
プロジェクトのディレクトリが Pythonパスに追加されます。

        {
            "name": "Python: Current File",

            "env": {
                "PYTHONPATH": "${workspaceFolder}"
            }
        },

● 実行(&デバッグ)

Pythonソースを作成し、ソースを開いた状態でデバッグタブで「Python: Current File」を選択し、実行します。

デバッグ-実行.png

実行引数を指定したい場合は .vscode/launch.json に「"args"」の設定を追加します。

        {
            "name": "Python: Current File",

            "args": [
                "hoge",
                "fuga",
                "piyo"
            ]
        },

■ VS Code でのフォーマッタ、Lint設定

以下、Lint関連の設定方法です。

● フォーマッタ(autopep8)

コマンドパレットとかでドキュメントのフォーマットを実行すると、、、

VSCode_フォーマッタ-1.png

VSCode_フォーマッタ-2.png

右下にインストールを促すメッセージが出てくるので、「Yes」を押してやると勝手に PipEnv で autopep8 がインストールされます。

autopep8 ではなく、別のフォーマッタを使用したいのであれば、設定(settings.json)に、

"python.formatting.provider": "yapf"

などと追記し、上記同様の手順で設定することができます。

● Lint

Lintについても同様で、設定(settings.json)に、

"python.linting.pylintEnabled": true,
"python.linting.flake8Enabled": true,
"python.linting.mypyEnabled": true,

などと追記し、ソースを保存したりすれば、同様に右下にメッセージが出てきます。

■ .gitignore

/.vscode
/.venv
/.mypy_cache
/Pipfile.lock
/tmp
/**/__pycache__