Visual Studio でプロジェクトの Python 環境を選択する

Python プロジェクトのすべてのコードは、特定の環境のコンテキスト内で実行されます。 これらの環境には、グローバル Python 環境、Anaconda 環境、仮想環境、または conda 環境があります。 Visual Studio では、デバッグ、インポートとメンバーの入力候補、および構文チェックに Python 環境が使用されます。 この環境は、Python のバージョンとインストールされているパッケージのセットに固有の言語サービスを必要とするタスクに使用されます。

Visual Studio では、プロジェクト用に複数の環境を作成し、特定の開発ニーズに応じてそれらを切り替えることができます。 すべての新しい Python プロジェクトは、最初は既定のグローバル環境を使用するように構成されます。 ソリューション エクスプローラー[Python 環境] ノードの下にプロジェクトの環境を表示することができます。

Screenshot that shows the global default Python environment for a project in Solution Explorer in Visual Studio.

前提条件

現在のプロジェクト環境を切り替える

Visual Studio では、ソリューション エクスプローラーまたは [環境の追加] 機能を使用してツールバーから、Python プロジェクトのアクティブな (現在の) 環境を切り替えることができます。

  1. [環境の追加] プロセスを開始します。

    • ソリューション エクスプローラーで、プロジェクトの [Python 環境] ノードを右クリックして、[環境の追加] を選択します。
    • または、Python ツールバーで、[環境] ドロップダウン メニューから [環境の追加] を選択します。

    Screenshot that shows the two options to access the Add Environments feature in Visual Studio.

  2. [環境の追加] ダイアログで、[既存の環境] タブを選択します。[環境] ドロップダウン リストを拡張して目的の環境を選択し、[追加] を選択します。

    Screenshot that shows how to select a project environment in the Add Environments dialog in Visual Studio.

Note

使用する環境が一覧にない場合は、既存の環境を手動で識別する必要がある場合があります。

仮想環境を使用する

仮想環境は、特定の Python インタープリターと、他のグローバル環境や conda 環境とは異なる特定のライブラリ セットの固有の組み合わせです。 仮想環境はプロジェクトに固有であり、プロジェクトのサブフォルダーで管理されます。 そのフォルダーには、環境のインストール済みのライブラリの他に、ファイル システムのベース インタープリターへのパスを示す pyvenv.cfg ファイルが格納されています。 (仮想環境にはインタープリターのコピーではなく、それに対するリンクのみが含まれます。)

仮想環境を使用する利点の 1 つは、時間の経過とともにプロジェクトの開発が進んでも、プロジェクトの正確な依存関係が常に仮想環境に反映されるということです。 この動作は、プロジェクトで使用するかどうかにかかわらず、任意の数のライブラリを含む共有グローバル環境とは異なります。 仮想環境から requirements.txt ファイルを簡単に作成し、これを使用して、他の開発環境または実稼働コンピューターにパッケージの依存関係を再インストールできます。 詳細については、「requirements.txt での必須パッケージの管理」をご覧ください。

requirements.txt ファイルが含まれているプロジェクトを Visual Studio で開くと、仮想環境を再作成するためのオプションが自動的に示されます。 Visual Studio がインストールされていないコンピューターでは、pip install -r requirements.txt コマンドを使用して必要なパッケージを復元できます。

仮想環境には Python のベース インタープリターへのハードコードされたパスが含まれていること、および requirements.txt ファイルを使用して環境を再作成できるため、通常は、ソース管理から環境サブフォルダー全体が除外されます。 仮想環境がプロジェクトに追加された後、[Python 環境] ウィンドウに表示されます。 他の環境と同様にアクティブ化でき、そのパッケージを管理できます。

仮想環境を作成する

次のように、Visual Studio で新しい仮想環境を直接作成できます。

  1. [環境の追加] プロセスを開始します。

    • ソリューション エクスプローラーで、プロジェクトの [Python 環境] ノードを右クリックして、[環境の追加] を選択します。
    • または、Python ツールバーで、[環境] ドロップダウン メニューから [環境の追加] を選択します。
  2. [環境の追加] ダイアログで、[仮想環境] タブを選択します。

    Screenshot of the Virtual environment tab of the Add Environment dialog box in Visual Studio.

  3. 必須フィールドを構成します。

    必須フィールド 説明
    プロジェクト 環境を作成するプロジェクトを識別します。
    名前 新しい仮想環境の名前を指定します。
    ベース インタープリター 仮想環境のベース言語インタープリターを指定します。
    場所 仮想環境の既定の場所が割り当てられます。 場所を変更するには、[仮想環境の場所の変更] リンクを選択し、場所を参照して [フォルダーの選択] を選択します。
  4. 目的の省略可能なフィールドを構成します。

    省略可能なフィールド 説明
    [ファイルからパッケージをインストールする] requirements.txt ファイルへのパスを指定し、パッケージを仮想環境に追加します。 ファイルの場所および名前を入力するか、場所を参照して (...) ファイルを選択します。
    現在の環境として設定 環境を作成した後、選択したプロジェクトで新しい環境をアクティブ化します。
    新しいプロジェクトの既定の環境として設定 Visual Studio で作成されるすべての新しいプロジェクトで、環境を自動的に設定してアクティブ化します。 この設定は、[Python 環境] ウィンドウで [これを新しいプロジェクトに対する既定の環境にする] オプションでも利用できます。 このオプションを使う場合、特定のプロジェクト以外の場所に仮想環境を配置します。
    Python 環境ウィンドウで表示 新しい環境の作成後、[Python 環境] ウィンドウを表示するかどうかを指定します。
    この環境をグローバルに使用可能にする 仮想環境をグローバル環境としても機能させるかどうかを指定します。 このオプションを使う場合、特定のプロジェクト以外の場所に仮想環境を配置します。
  5. [作成] を選択して仮想環境を完成します。

環境の構成と必要なパッケージのダウンロード中は進行状況バーが表示されます。

プロセスが完了すると、Visual Studio によって新しい仮想環境がアクティブ化され、ソリューション エクスプローラー[Python 環境] ノードに追加されます。 環境は、含まれているプロジェクトの [Python 環境] ウィンドウでも使用できます。

環境をアクティブ化する

プロジェクトの既存の環境をアクティブ化するには、次の手順に従います。

  1. ソリューション エクスプローラーで、プロジェクトの [Python 環境] ノードを展開し、使用する環境を見つけます。

  2. 環境を右クリックし、[環境をアクティブ化する] を選択します。

    Screenshot that shows how to activate a project environment in Visual Studio.

    Visual Studio でその環境内に requirements.txt ファイルが検出されると、それらのパッケージをインストールするかどうかが確認されます。

    Visual Studio で環境がアクティブ化された後、アクティブな環境の名前がソリューション エクスプローラーに太字で表示されます。

    Screenshot that shows how Visual Studio shows the name of the active environment in a bold font in Solution Explorer.

仮想環境を削除する

プロジェクトの既存の環境を削除するには、次の手順に従います。

  1. ソリューション エクスプローラーで仮想環境を右クリックし、[クリア] を選択します。

  2. Visual Studio によって、仮想環境をクリアまたは削除するかどうかが確認されます。

    • [クリア] を選択すると、その環境はプロジェクトで使用できなくなりますが、ファイル システムには残ります。
    • [削除] を選択すると、プロジェクトから環境がクリアされ、ファイル システムからも削除されます。 ベース インタープリターは影響を受けません。

インストールされているパッケージの表示と管理

ソリューション エクスプローラーでは、環境にインストールされているパッケージを表示および管理できます。 これらのパッケージは、環境がアクティブな場合にコードにインポートして使用できます。

  • 環境にインストールされているパッケージを迅速に表示するには、ソリューション エクスプローラーで、プロジェクトの [Python 環境] ノードで環境ノードを展開します。

    Screenshot that shows Python packages for an environment in Solution Explorer in Visual Studio.

  • 新しいパッケージのインストールまたは既存のパッケージの管理を行うには、環境ノードを右クリックし、[Python パッケージの管理] を選択します。 Python ツールバーの [パッケージ] ボタンを使用することもできます。

    Screenshot that shows how to access the Manage Python packages option for an environment in Solution Explorer.

    [Python 環境] ウィンドウが開き、[パッケージ (PyPI)] タブに選択された環境のインストール済みパッケージが表示されます。

    Screenshot that shows the current packages for the selected environment in the Python Environments window.

    Visual Studio で、ほとんど環境のパッケージおよび依存関係は [Python Package Index (PyPI)] からダウンロードされます。ここでパッケージを検索することもできます。 Visual Studio のステータス バーと出力ウィンドウには、インストールに関する情報が表示されます。

  • パッケージをアンインストール (削除) するには、一覧でパッケージを見つけて、右側にある x アイコンを選択します。

  • パッケージまたはその他のパッケージの更新バージョンを検索するには、検索語句 (通常はパッケージ名) を入力します。

    Visual Studio に一致するパッケージが表示されます。 この例では、blinker という語句と一致するパッケージの検索を行っています。

    Screenshot that shows how Visual Studio shows how to search for matching packages in the Python Environments window.

    Visual Studio に、一致する結果の一覧がアクティブなコマンド リンクとして表示されます。

    • 最初のコマンドは、パッケージを最新のバージョンと現在の依存関係に更新します。 このコマンドは Run command: pip install <package-name> に類似しています。 検索語句の後に Enter キーを押すと、Visual Studio によってこの最初のコマンドが自動的に実行されます。

    • その他のリンクは、Install blinker-async (0.0.3) などの特定のパッケージ、バージョン、または依存関係をインストールするコマンドが対象です。 これらのコマンドのいずれかを実行するには、リンクを選択します。

パッケージのインストールに関する考慮事項

Visual Studio でパッケージを使用する場合は、次の考慮事項に注意してください。

  • パッケージに表示されるエントリは、最新のバージョンまたは可用性の点で正確ではない可能性があることに注意してください。 パッケージに表示されるインストールとアンインストールの情報は、信頼性が低いか使用できない可能性があります。

  • Visual Studio は、使用可能な場合は pip パッケージ マネージャーを使い、必要な場合はダウンロードしてインストールします。 Visual Studio は、easy_install パッケージ マネージャーを使うこともできます。 コマンド ラインから pip または easy_install コマンドを使用してインストールされたパッケージも表示されます。

  • pip でパッケージのインストールに失敗する一般的な状況は、パッケージの *.pyd ファイルにネイティブ コンポーネントのソース コードが含まれる場合です。 必要なバージョンの Visual Studio がインストールされていない場合、pip はこれらのコンポーネントをコンパイルできません。 このような状況では、"エラー: vcvarsall.bat が見つかりません" というエラー メッセージが表示されます。 easy_install コマンドは、多くの場合、コンパイル済みのバイナリをダウンロードでき、https://python.en.uptodown.com/windows/versions から旧バージョンの Python 用の適切なコンパイラをダウンロードできます。 詳細については、Python ツール チーム ブログの「How to deal with the pain of "unable to find vcvarsallbat"」("vcvarsallbat が見つからない" という問題への対処方法) をご覧ください。

  • 通常、conda パッケージ マネージャーでは既定のチャンネルとして https://repo.continuum.io/pkgs/ が使われますが、その他のチャンネルも使用可能です。 詳細については、チャンネルの管理に関するページ (docs.conda.io) をご覧ください。

  • 現在 Visual Studio では、conda コマンドを使用して conda 環境にパッケージをインストールする操作はサポートされていません。 その代わり、コマンド ラインから conda コマンドを使用します。