VS Code

Visual Studio Code (VS Code) で Python 開発環境を準備する方法

VSCodeでPython開発環境を準備する方法
naoki-hn

Visual Studio Code (VS Code) を利用して Python 開発環境を準備する方法を解説します。

Python開発環境の準備

Visual Studio Code (以降、VS Code) は様々な言語でソフトウェアを開発するときに使用できるエディターで、マルチプラットフォームにも対応したものです。

VSCode には、Python 開発のためのPython 拡張機能があり、多くの機能を利用することができます。

この記事では、Python 拡張機能をインストールし、リンターツールやフォーマットツールなどの開発環境を準備する方法を紹介します。

本記事は、Python および VS Code がインストールされていることを前提とします。インストール方法は以下を参考にしてください。

Python 拡張機能のインストール

Python の拡張機能をインストールします。

  1. 拡張タブを選択する。
  2. 検索窓で「python」と入力する。
  3. 検索一覧から「Python」をクリックすると、右側に Python 拡張の説明が表示される。
  4. 「インストール」をクリックして Python 拡張をインストールする。
Python 拡張機能のインストール

Python 拡張機能を利用すると、関数やメソッド名等の補完などの各種機能を使用することができるようになります。

Python インタープリタの設定

Python の実行をするには Python インタープリタを設定する必要があります。インタープリタの設定方法を見ていきましょう。

任意の場所に、例えばtestProjectというフォルダを作成し、当該フォルダを開いてください。[ファイル]-[フォルダを開く]などから開くことができます。フォルダを開いたら、以下のようにtest.pyのような任意のPythonファイルを作成してみてください。

すると以下のようにtest.pyの編集画面が表示されます。

ここで右下を見てみると、現在設定されているインタープリタが表示されます。上記の状態で、test.pyにプログラミングして、実行ボタン【▷】を押すと、Python 3.11.0のインタプリタを使って実行されます。

右下のバージョンの部分をクリックすると以下の画面のようにインタープリタを選択することができます。

私の環境では、「Python3.11.0」「3.10.4」「3.9.13」「3.9.12(32bit版)」がインストールされていることが分かりますね。ここで選択を変えることで別バージョンでも実行することが可能です。なお、Python自体のインストール方法は「Pythonのインストール方法(Windows)」を参考にしてください。

ただし、上記のインタープリタを直接使用してパッケージ追加などを行っていくのは一般的ではありません。各プロジェクトごとに仮想環境として作成して、仮想環境でパッケージ追加などを行って使用するのが一般的です。

以降では、venvにより仮想環境を作成して使用する方法を紹介します。

venvによる仮想環境の作成

Pythonでは、venvを使用することによりプロジェクトごとに仮想環境を分けることができます。Pythonインストール時には、Pathへの追加はデフォルトではチェックされていません。理由は、プロジェクトごとに仮想環境を作るのが一般的なためです。複数バージョンのPythonを端末に用意しておいてプロジェクトごとに異なるPythonバージョンを使うといったことも仮想環境を使うと容易になります。

では、venvを用いた仮想環境の作成方法を見ていきましょう。インストールしたPythonのフォルダにPathが設定されている場合は、VSCodeのターミナルで以下のようにコマンドを実行します。この時にはパスに設定されているPythonのバージョンを元に仮想環境が作成されます。

python -m venv 仮想環境名

Pathを設定していない場合は、以下のように元にするバージョンのpython.exeを使用して実行します。

C:\Python\Python311\python.exe -m venv 仮想環境名

上記のように実行すると「仮想環境名」で指定した名称のフォルダが作成され、その下にPythonの各種モジュールが取り込まれます。

具体的には以下のような形になります。ここではvenvという名前の仮想環境を作成しています。

VSCode venv

コマンドを実行した際に以下のように表示された場合は「はい」としておきましょう。

VSCode venv

コマンドを実行すると、以下のように仮想環境名venvの下にPythonのモジュールが取り込まれて作成されます。また、VSCode画面の右下を見てみると作成したvenvという仮想環境になっていることが分かります。

VSCode venv

仮想環境を適用する場合には「Activate」というコマンドを実行して仮想環境に入るということをするのが基本ですが、ワークスペースに追加をしておくと、ターミナル起動時に勝手にActivateが呼び出されて仮想環境に入れるようになります。ターミナルを開きなおしてみると以下のようになります。

VSCode venv

起動時に仮想環境のvenv/Scripts/Activate.ps1が呼び出されて、仮想環境に勝手に入ってくれます(自分で入力したわけではありません)。現在いる環境については(venv)というように表示されていることから判断することができます。

venv の公式ドキュメントはこちらを参照してください。

静的解析ツール(linter: リンタ―)の設定

プログラミングのソースコードを読み込んで、文法上の問題点を指摘してくれるツールの事を静的解析ツール(linter: リンタ―)と言います。コーディング規約に沿ったプログラミングを進めるために非常に有用なツールです。

Pythonでは、PEP8という標準的なコーディング規約があります。静的解析ツールには色々な種類があるのですが、ここではPEP8等の標準的なコードスタイルに従っているかをチェックできるPylintを有効化する方法について見ていきましょう。

以下のように拡張タブからPython拡張の設定を開きます。すると右側に各種設定項目が表示されます。

VSCode 設定

設定の中で「Linting:」となっている部分がリントツールに関する設定です。まず、リント機能が有効化されているかは以下の部分で確認ができます。

VSCode Linting:Enabled

次にPylintが有効になっているかは以下の部分で確認できます。チェックが入っていない場合はチェックしましょう。これでPylintが有効化されます。

VSCode Linting: Pylint Enabled

Pylintやその他リントツールは動作させるためには、現在のPythonインタープリタに当該ツールがインストールされている必要があります。多くのツールではインストールされていない状態でソースコードを開いたりすると、以下のようにインストールを促すダイアログが出ますので「インストール」を押してインストールしましょう。

リンタ― pylintがインストールされていません

フォーマットツールの設定

VSCodeは、フォーマットツールと連携することで、プログラミングコードの整形をすることができるようになります。連携できるフォーマットツールとしてはAutopep8blackyapfといったものがあります。最近はblackがデファクトスタンダードのようになっているようです。

ここでは、blackの設定を有効化する方法を見ていきましょう。以下のように拡張タブからPython拡張の設定を開きます。すると右側に各種設定項目が表示されます。

VSCode 設定

設定の中で「Formatting:」となっている部分がフォーマットに関する設定になります。フォーマットで使用するツールは以下のProviderの部分で設定ができます。今回はblackを使用するのでプルダウンからblackを選んでください。

VSCode Formatting: Provider

Windowsの場合、「Alt + Shift + F」をクリックすることでフォーマットを実行することができます。なお、リントツール同様で動作させるためには、現在のPythonインタープリタに当該ツールがインストールされている必要があります。フォーマットを実行しようとすると、以下のようにインストールを促すダイアログが出ますので「はい」を押してインストールしましょう。

まとめ

VSCodeを利用してPython開発環境を準備する方法について解説しました。VSCodeは、様々な拡張機能を使用することができるので、利用者の好みに合わせて、またはプロジェクトの方針にあわせて各種設定をすることができます。

今回紹介した設定は、Python開発を始める際に設定しておいた方がよい点を中心に紹介しました。他にも色々と設定ができますので皆さんも調べながら試してみていただけると楽しいかと思います。

あわせて読みたい
【Python Tech】プログラミングガイド
【Python Tech】プログラミングガイド
ABOUT ME
ホッシー
ホッシー
システムエンジニア
はじめまして。当サイトをご覧いただきありがとうございます。 私は製造業のメーカーで、DX推進や業務システムの設計・開発・導入を担当しているシステムエンジニアです。これまでに転職も経験しており、以前は大手電機メーカーでシステム開発に携わっていました。

プログラミング言語はこれまでC、C++、JAVA等を扱ってきましたが、最近では特に機械学習等の分析でも注目されているPythonについてとても興味をもって取り組んでいます。これまでの経験をもとに、Pythonに興味を持つ方のお役に立てるような情報を発信していきたいと思います。どうぞよろしくお願いいたします。

※キャラクターデザイン:ゼイルン様
記事URLをコピーしました