Windows + VSCode + pipenv でPythonの開発環境を作る
Docker使えない人向け。開発環境というかプロジェクトフォルダ。Pythonのグローバルを汚さないように pipenv
で開発ツールをインストールする。
前提
VisualStudioCodeがインストール済みで、コマンドプロンプトで code
コマンドを使用できること。
手順1. Pythonをインストール
公式のダウンロードページからインストーラをダウンロードする。
ここではPython 3.9.10 の Windows installer (64-bit)を使用する。(インストーラではない『Windows embeddable package』もあるけど、以前に試したとき pip
をどうしても使えなくて諦めたので、インストーラ版を使うこと。)
インストーラを起動したら下部の『Add Python 3.9 to PATH』をチェックONにする。これをするとユーザーの環境変数の PATH
に、Pythonのインストールフォルダと、インストールフォルダ直下の Scripts
フォルダが追加される。
インストール先はどこでも大丈夫なので、ここでは『Install Now』を選択してデフォルトの場所 (C:\Users\{ユーザー名}\AppData\Local\Programs\Python\Python39
) にインストールする。
完了したら、コマンドプロンプトで以下コマンドを実行してインストールが成功したことを確認。
手順2. pipenvをインストール
Pythonに付属しているデフォルトのパッケージ管理システム pip
は、Node.jsの npm
などと違ってプロジェクトフォルダごとにパッケージを管理できない。そのため pipenv
を導入する。
コマンドプロンプトで以下コマンドを実行して pipenv
をインストール。
以下コマンドを実行してインストールが成功したことを確認。
そしたら更に以下コマンドを実行して、pipenv
用のユーザー環境変数を設定する。
PIPENV_VENV_IN_PROJECT
…pipenv
がプロジェクトフォルダ以下に仮想環境を作成するようになる。PIPENV_IGNORE_VIRTUALENVS
… 環境変数VIRTUAL_ENV
を無視するようになる。VIRTUAL_ENV
は仮想環境の場所を指定するための環境変数なので、必ずプロジェクトフォルダ以下に仮想環境を作る運用をするなら無視した方が間違いが無い。
成功したら、コマンドプロンプトを閉じてもう一度起動することで、コマンドプロンプトに環境変数を反映する。
手順3. プロジェクトを作成
コマンドプロンプトで以下コマンドを実行し、プロジェクトフォルダを作る。カレントフォルダはどこでもよい。
続けて以下コマンドを実行し、VSCodeでプロジェクトフォルダを開く。
以後はVSCodeのターミナルで操作する。ターミナルを開くには Ctrl + @
キー。
以下コマンドでプロジェクトを初期化。
完了すると、プロジェクトフォルダ内にフォルダ .venv
とファイル Pipfile
が作成される。
さらに以下コマンドで、開発用のパッケージを --dev
オプション付きでインストール。
各パッケージの内容は以下の通り。
black
… PEP8準拠のフォーマッター。flake8
… 構文チェックを行う。pyproject-flake8
…flake8
の設定をpyproject.toml
で管理できるようにする。isort[pyproject]
… PEP8準拠でimport
文の順序を修正する (isort
のpyproject.toml
対応版)。mypy
… 静的型チェックを行う。
完了すると Pipfile
にパッケージ情報が追記され、インストール済みのパッケージ情報が書かれたファイル Pipfile.lock
が作成される。この時点での Pipfile
の内容は以下の通り。
そしたらインストールした開発用パッケージの設定ファイルを作る。プロジェクトフォルダ内にファイル pyproject.toml
を作成する。
ここまでのプロジェクトフォルダの内容は以下の通り。
手順4. VSCodeの設定
プロジェクトフォルダ内にフォルダ .vscode
を作成し、その中にファイル settings.json
を作成する。以下の通りにVSCodeの設定を記載する。
保存したら、一旦VSCodeを終了してもう一度起動する。
その後、ターミナルを開くと ./.venv/Scripts/Activate.ps1
が実行されており、エラーが表示されていなければOK。
また、エディタで適当な .py
ファイルを開いて右下を確認すると Python 3.9.10 ('.venv': pipenv)
と表示されているはず。これで仮想環境のPythonインタープリターが使用されている。
手順5. .gitignoreの設定
プロジェクトフォルダ内にファイル .gitignore
を作成し、内容は以下の通りにする。
これでプロジェクトフォルダは作成完了。ここまでの内容は以下の通り。
動作確認
プロジェクトフォルダ直下にフォルダ src
を作成し、以下のソースコードを作成する。
VSCodeでファイル src/main.py
を開いて保存すると、フォーマッターと import
のソートが実行されるはず。
保存後の src/main.py
の内容は以下の通り。
以上。
参考にさせていただいた記事
Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita
Blackできれいに自動整形!flake8とBlack導入と実行 - Qiita
もうPythonの細かい書き方で議論しない。blackで自動フォーマットしよう - Make組ブログ
Pythonの主要なLint(pep8, pylint, flake8)の設定方法まとめ - Qiita
その設定、pyproject.tomlに全部書けます - Gunosyデータ分析ブログ
flake8の設定をpyproject.tomlに統合する - Qiita
VSCode で Activate 時に「このシステムではスクリプトの実行が無効になっているため、ファイルxxを読み込むことができません」とエラーが表示される時の対処法 | まにゅまるスクリプト。