Python 3.6 の環境を構築してVisual Studio Code でコーディングする
目次
仮想化技術を用いてサクッと開発環境を作るのが当たり前な開発現場が多くなっていると思いますが、時には開発環境がAWS上にのみ存在し、ローカルではインテリセンスのあるエディタでコードが書ければ良いという場面もあると思います。今携わっているAWS上で動作するPythonバッチを作成する開発はまさにそのパターンに当てはまると思います。
Webの開発ではDockerを用いて開発環境を構築することが多いのですが、Pythonにはvenvという仮想環境があるので、それとVisual Studio Code(以降、VSCと略します。)を組み合わせてコーディングの環境を構築してみました。
スペック、バージョン等
- Mac OS High Sierra
- Python 3.6.8
- Visual Studio Code 1.33.1
Python 3.6 のインストール
以下のサイトで最新(携わっているプロジェクトに合わせる必要がため、私のバージョンは3.6.8です。)のバージョンをダウンロードして、ウィザードに従ってインストールします。
https://www.python.org/downloads/
Visual Studio Codeのインストール
以下のサイトで最新のバージョンをダウンロードして、ウィザードに従ってインストールします。
VSCのアイコンをクリックして起動した後、コマンドパレット(Shift+command+p)に「shell command」と入力して出てくるいくつかのコマンドの中から「shell command: install ‘code’ command in PATH」を選択して実行します。これによりコマンドラインからVSCを起動できるようになります。codeコマンドはこの後の構築手順で使用します。
ソースを配置
今回のプロジェクトに関連するソースを以下のように配置します。
/Users/koji/dev/pj-name/src/sample_batch.py
VSCで上記のディレクトリpj-nameを指定してプロジェクトを開きます。起動したVSCの設定画面で設定を変更すると以下のようなVSCの設定ファイルが作成されます。このファイルの設定方法もこの後の手順で説明します。
/Users/koji/dev/pj-name/.vscode/settings.json
仮想環境(venv)を構築
Python 3.6がインストールされていれば、python3コマンドが使用できますので、-Vオプションで確認します。
$ python3 -V
Python 3.6.8
venvを作成する場所はとりあえず自分のユーザーのホームで良いと思います。
$ cd /Users/koji
仮想環境を作成します。名前はvenv+バージョン+プロジェクト名にしました。隠しディレクトリにしたいのであれば先頭にドットを付加すると良いと思います。(.venv36pj-name)
$ python3 -m venv venv36pj-name
sourceコマンドで仮想環境を立ち上げます。
$ source venv36pj-name/bin/activate
仮想環境の中で各種必要なパッケージのインストールを行います。ここでインストールすることによりローカルを汚さずに済みます。freezeコマンドでまずインストール済みパッケージの確認をして、pipコマンドをアップグレードした後、目的のパッケージ(例;boto3パッケージ)をインストールします。この時点でpycodestyleなどのLinterを入れておくと良いと思います。
(venv36pj-name) $ pip freeze
(venv36pj-name) $ pip install --upgrade pip
(venv36pj-name) $ pip install boto3
(venv36pj-name) $ pip install pycodestyle
最後にこの仮想環境の中からVSCを起動するcodeコマンドを実行すれば、この仮想環境内のパッケージを取り込んだ状態でVSCが立ち上がります。
(venv36pj-name) $ code
Visual Studio Codeの設定変更
上記のcodeコマンドの実行を行った後、もしvenv環境とうまく連携できない場合は、以下の設定を追加します。
/Users/koji/dev/pj-name/.vscode/settings.json をエディタで開いて、venv内のpython3コマンドを追加します。
{
"python.pythonPath": "/Users/koji/venv36pj-name/bin/python3",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}
インテリセンスはMicrosoftの「ms-python.python」選択しましたが、使いやすいもので良いと思います。
最後にコマンドパレット(Shift+command+p)に「python interpreter」と入力してコマンドを選んだ後、カレントの環境にvenv36pj-nameが指定されていれば完了です。
まとめ
簡単な設定ファイルで仮想環境をサクッと作成できますので、Dockerを使うほどではないという時にはおすすめです。
コメントを残す