Visual Studio で Python 環境を作成および管理する

Python 環境は、その中で Python コードを実行するコンテキストであり、グローバル環境、仮想環境、および conda 環境が含まれます。 1 つの環境は、インタープリター、ライブラリ (通常は Python 標準ライブラリ)、およびインストールされているパッケージのセットで構成されます。 これらのコンポーネントがすべて合わさって、有効な言語の構造と構文、アクセスできるオペレーティング システム機能、使用できるパッケージが決まります。

Windows 上の Visual Studio では、この記事で説明するように、[Python 環境] ウィンドウで環境を管理し、新しいプロジェクトの既定値として 1 つの環境を選択します。 環境の他の側面については、以下の記事を参照してください。

  • 特定のプロジェクトに対して、既定ではなく、特定の環境を選択することができます。

  • Python プロジェクトの仮想環境の作成と使用の詳細については、「仮想環境を使用する」を参照してください。

  • 環境にパッケージをインストールする場合は、[パッケージ] タブのリファレンスを参照してください。

  • Python インタープリターをインストールする場合は、「Python インタープリターのインストール」を参照してください。 一般的に、主流の Python ディストリビューションのインストーラーをダウンロードして実行すると、Visual Studio でその新しいインストールが検出され、環境が [Python 環境] ウィンドウに表示され、プロジェクトに選択できるようになります。

Note

[ファイル]>[開く]>[フォルダー] の順に選択して、フォルダーとして開いた Python コードの環境を管理できす。 Python ツールバーを使用すると、検出したすべての環境の中で環境を切り替えたり、新しい環境を追加したりできます。 環境情報は、ワークスペース .vs フォルダー内の PythonSettings.json ファイルに格納されています。

前提条件

  • インストールされている Python のワークロード。

Visual Studio で Python を初めて使用される場合は、次の記事で一般的な背景情報を確認してください。

[Python 環境] ウィンドウ

Visual Studio が認識した環境が [Python 環境] ウィンドウに表示されます。 ウィンドウを開くには、次のいずれかの方法を使用します。

  • [表示]>[その他のウィンドウ]>[Python 環境] の順に選択します。
  • ソリューション エクスプローラーでプロジェクトの [Python 環境] ノードを右クリックし、[すべての Python 環境の表示] を選択します。

Visual Studio 2019 のソリューション エクスプローラーの [すべての Python 環境の表示] コマンドのスクリーンショット

Visual Studio 2022 のソリューション エクスプローラーの [すべての Python 環境の表示] コマンドのスクリーンショット

[Python 環境] ウィンドウは、Visual Studio でソリューション エクスプローラーと共に表示されます。

Visual Studio 2019 の [Python 環境] ウィンドウのスクリーンショット。

Visual Studio 2022 の [Python 環境] ウィンドウのスクリーンショット。

Visual Studio では、仮想環境と conda 環境 (「環境の種類」を参照) と共に、(PEP 514 に従って) レジストリを使用して、インストール済みのグローバル環境が検索されます。 一覧に想定した環境が見つからない場合は、「既存の環境を手動で識別する」を参照してください。

一覧から環境を選択すると、Visual Studio の [Python 環境] ウィンドウの [概要] タブに、その環境のさまざまなプロパティとコマンド (インタープリターの場所など) が表示されます。 [概要] タブの一番下にあるコマンドを実行すると、いずれの場合も、コマンド プロンプトが開き、インタープリターが実行されます。 詳細については、[環境] ウィンドウ タブ リファレンスの [概要] に関するページを参照してください。

環境の一覧の下のドロップダウン リストを使用して、[パッケージ][IntelliSense] などの異なるタブに切り替えることができます。 これらのタブの説明は、「[Python 環境] ウィンドウ タブ リファレンス」でもご覧いただけます。

環境を選択しても、どのプロジェクトとの関係も変わりません。 この一覧で太字で表示されている既定の環境は、Visual Studio ですべての新しいプロジェクトに使用されている環境です。 新しいプロジェクトに別の環境を使用するには、[これを新しいプロジェクトに対する既定の環境にする] コマンドを使用します。 プロジェクトのコンテキスト内では、常に特定の環境を選択できます。 詳細については、プロジェクト用の環境の選択に関するページを参照してください。

一覧表示されている各環境の右側に、その環境の対話型ウィンドウを開くコントロールがあります。 (Visual Studio 2017 15.5 以前では、その環境の IntelliSense データベースを更新する別のコントロールが表示されます。データベースの詳細については、「[Python 環境] ウィンドウ タブ リファレンス」を参照してください。)

ヒント

[Python 環境] ウィンドウを大きく広げると、ご利用の環境の表示が拡張され、より操作しやすくなります。

Visual Studio 2019 の [Python 環境] ウィンドウの拡張ビューのスクリーンショット。

ヒント

[Python 環境] ウィンドウを大きく広げると、ご利用の環境の表示が拡張され、より操作しやすくなります。

Visual Studio 2022 の [Python 環境] ウィンドウの拡張ビューのスクリーンショット。

Note

Visual Studio はシステム サイト パッケージのオプションを尊重しますが、Visual Studio 内からそれを変更する方法は用意されていません。

環境が表示されない場合

[Python 環境] ウィンドウに環境が表示されない場合は、Visual Studio が標準的な場所で Python インストールを検出できなかったことを意味します。 Visual Studio 2017 以降をインストールしたものの、Python ワークロードのインストーラー オプションですべてのインタープリター オプションの選択を解除している可能性があります。 同様に、Visual Studio 2015 以前をインストールしたものの、インタープリターを手動でインストールしなかった可能性があります。 詳細については、「Python インタープリターのインストール」を参照してください。

コンピューター上に Python インタープリターがあることはわかっているが、Visual Studio (すべてのバージョン) で検出されなかった場合は、[+ カスタム] コマンドを使用して、インタープリターの場所を手動で指定します。 詳細については、既存の環境を手動で識別する方法を参照してください。

環境の種類

Visual Studio は、グローバル環境、仮想環境、および conda 環境で動作します。

グローバル環境

Python の各インストールでは、それぞれ独自の "グローバル環境" を維持します。 例として、Python 2.7、Python 3.6、Python 3.7、Anaconda 4.4.0 などが挙げられます。 詳細については、「Python インタープリターのインストール」を参照してください。

各環境は、特定の Python インタープリター、その標準ライブラリ、および事前インストールされたパッケージのセットで構成されます。 環境がアクティブになっている間にインストールする他のパッケージも含まれています。 グローバル環境にパッケージをインストールすると、グローバル環境を使用するすべてのプロジェクトでパッケージが使用できるようになります。 環境がファイル システムの保護領域にある場合 (c:\program files 内など)、パッケージをインストールするには管理者特権が必要です。

グローバル環境は、コンピューター上のすべてのプロジェクトで使用できます。 Visual Studio では、1 つのグローバル環境を既定の環境として選択します。プロジェクトに対して別の環境を特に選ばない限り、すべてのプロジェクトでこれが使用されます。 詳細については、プロジェクト用の環境の選択に関するページを参照してください。

仮想環境

グローバル環境での作業は、簡単に始めることができます。 時間の経過と共に、環境には、さまざまなプロジェクト用にインストールされたさまざまなパッケージが散在することがあります。 パッケージが散在していると、既知のバージョンの特定のパッケージ セットに対してアプリケーションを徹底的にテストすることが困難になることがあります。 ただし、この種の環境は、ビルド サーバーまたは Web サーバーで設定した場合に予想されることです。 競合は、2 つのプロジェクトに互換性のないパッケージまたは同じパッケージの異なるバージョンが必要な場合にも発生します。

このような理由から、開発者は 1 つのプロジェクト用に仮想環境を作成することがよくあります。 仮想環境は、特定のインタープリターのコピーを含むプロジェクトのサブフォルダーです。 仮想環境をアクティブにすると、インストールするパッケージはその環境のサブフォルダーにのみインストールされます。 仮想環境内で Python プログラムを実行すると、そのプログラムがこうした特定のパッケージのみに対して実行されていることを確信できます。

Visual Studio には、プロジェクトの仮想環境を作成するための直接的なサポートが提供されています。 requirements.txt ファイルを含むプロジェクトを開くと、Visual Studio では、自動的に仮想環境が作成され、それらの依存関係がインストールされるというメッセージが表示されます。 requirements.txt ファイルを含むテンプレートからプロジェクトを作成すると、同じ動作が見られます。

開いているプロジェクト内には、いつでも新しい仮想環境を作成できます。 ソリューション エクスプローラーでプロジェクト ノードを展開し、[Python 環境] を右クリックし、[環境を追加] を選択します。 [環境を追加] で、[仮想環境] を選択します。 詳細については、「仮想環境を作成する」を参照してください。

Visual Studio には、仮想環境から requirements.txt ファイルを生成し、他のコンピューターで環境を簡単に再作成するためのコマンドも用意されています。 詳しくは、「仮想環境を使用する」をご覧ください。

conda 環境

conda 環境は conda ツールを使用して作成できます。Visual Studio 2017 バージョン 15.7 以降では、統合 conda 管理が使用されます。 conda 環境には、Anaconda または Miniconda が必要です。 これらのプラットフォームは、Visual Studio インストーラーを通じて入手できます。 詳細については、「Visual Studio での Python サポートのインストール」をご覧ください。

  1. [Python 環境] ウィンドウで (または、Python ツールバーから) [環境の追加] を選択して、[環境の追加] ダイアログを開きます。

  2. [環境の追加] ダイアログで、[Conda 環境] タブを選択します。

    Visual Studio の [環境の追加] ダイアログの [Conda 環境] タブのスクリーンショット

  3. 次のフィールドを構成します。

    フィールド 説明
    プロジェクト 環境を作成するプロジェクトを識別します。
    名前 conda 環境の名前が表示されます。
    パッケージの追加元 conda 環境にパッケージを追加する方法を指定します。
    - 環境ファイル: 依存関係を記述する environment.yml ファイルがある場合は、このオプションを選択します。 ファイルの名前を入力するか、ファイルの場所を参照 (...) してファイルを選択します。
    - 1 つ以上の Anaconda パッケージ名: 1 つ以上の Python パッケージまたは Python バージョンを一覧表示する場合は、このオプションを選択します。

    パッケージ一覧では、Python 環境を作成するよう Conda に指示されます。 最新バージョンの Python をインストールするには、python コマンドを使用します。 特定のバージョンをインストールするには、python=3.7 のようにコマンド python=,major>.<minor> を使用します。 また、パッケージ ボタンを使用して、一連のメニューから Python のバージョンと一般的なパッケージを選択することもできます。
    現在の環境として設定 環境を作成した後、選択したプロジェクトで新しい環境をアクティブ化します。
    新しいプロジェクトの既定の環境として設定 Visual Studio で作成されるすべての新しいプロジェクトで、Conda 環境を自動的に設定してアクティブにします。 このオプションは、[Python 環境] ウィンドウの [これを新しいプロジェクトに対する既定の環境にする] を使用する場合と同じです。
    Python 環境ウィンドウで表示 環境の作成後、[Python 環境] ウィンドウを表示するかどうかを指定します。

    重要

    conda 環境を作成する場合は、少なくとも 1 つの Python バージョンまたは Python パッケージを必ず指定して、環境に Python ランタイムが含まれていることを確認してください。 environments.yml ファイルまたはパッケージ リストを使用できます。 この仕様を指定しないと、Visual Studio では環境が無視されます。 そのような環境は、[Python 環境] ウィンドウに表示されず、プロジェクトの現在の環境として設定されず、グローバル環境として使用できません。

    Python のバージョンを指定せずに conda 環境を作成してしまった場合は、conda info コマンドを使用して conda 環境フォルダーの場所を確認します。 その後、環境のサブフォルダーをその場所から手動で削除できます。

  4. [作成] を選択します

    conda 環境の作成は、[出力] ウィンドウで監視できます。 作成が完了すると、出力にコマンドライン インターフェイス (CLI) の手順の一部 (activate env など) が表示されます。

    Visual Studio で conda 環境が正常に作成されたことを示すスクリーンショット。

  5. Visual Studio では、他の環境と同じ方法でプロジェクトの conda 環境をアクティブ化できます。 詳細については、プロジェクト用の環境の選択に関するページを参照してください。

  6. 環境にさらにパッケージをインストールするには、[Python 環境] ウィンドウの [パッケージ] タブを使用します。

Note

conda 環境で最適な結果を得るには、conda 4.4.8 以降を使用します。 conda のバージョンは Anaconda のバージョンとは異なるということを覚えておいてください。 Visual Studio インストーラーを使用して、適切なバージョンの Miniconda (Visual Studio 2019 および Visual Studio 2022) と Anaconda (Visual Studio 2017) をインストールすることができます。

conda 環境が格納されている conda バージョンや、その他の情報を参照するには、Anaconda コマンド プロンプト (Anaconda がパス内に存在するコマンド プロンプト) で conda info コマンドを実行します。

conda info

conda 環境フォルダーは次のように表示されます。

       envs directories : C:\Users\user\.conda\envs
                          c:\anaconda3\envs
                          C:\Users\user\AppData\Local\conda\conda\envs

conda 環境はプロジェクトと共に格納されないことから、グローバル環境と同じように動作します。 たとえば、conda 環境に新しいパッケージをインストールすると、その環境を使用するすべてのプロジェクトでパッケージが使用できるようになります。

Visual Studio 2017 バージョン 15.6 以前の場合、conda 環境は、「既存の環境を手動で識別する」の説明に従って手動で指定することにより使用できます。

Visual Studio 2017 バージョン 15.7 以降では、次のセクションに説明するように、conda 環境が自動的に検出され、[Python 環境] ウィンドウに表示されます。

既存の環境を手動で識別する

標準と異なる場所にインストールされている環境を識別するには、次の手順に従います。

  1. [Python 環境] ウィンドウで (または、Python ツールバーから) [環境の追加] を選択して、[環境の追加] ダイアログを開きます。

  2. [環境の追加] ダイアログの [既存の環境] タブで、[環境] フィールドを <[カスタム]> に設定します。

    Visual Studio の [環境の追加] ダイアログの [既存の環境] タブのスクリーンショット。[環境] フィールドを [カスタム] に設定する方法が示されています。

    <[カスタム]> 値を選択すると、ダイアログにさらにフィールドが追加されます。

  3. [プレフィックス パス] フィールドをインタープリターのパスに設定します。 パスの場所を参照 (...) することでフィールドを設定できます。

    Visual Studio の [環境の追加] ダイアログでカスタム環境の詳細を指定する方法を示すスクリーンショット。

  4. パスを選択すると、残りのフィールドに値が入力されます。 値を確認し、必要に応じて変更します。 準備ができたら、 [追加] を選択します。

また、環境の詳細は、[Python 環境] ウィンドウでいつでも確認および変更することができます。

  1. [Python 環境] ウィンドウで環境を選択し、[構成] タブを選択します。

  2. 変更を行った後、[適用] コマンドを選択します。

[削除] コマンドを使用して、環境を削除することもできます。 詳細については、「[構成] タブ」を参照してください。このコマンドは、自動検出された環境では使用できません。

無効な環境を修正または削除する

Visual Studio で環境のレジストリ エントリが検出されたものの、インタープリターへのパスが無効である場合、次の画像のように、[Python 環境] ウィンドウに取り消し線の付いた環境名が表示されます。

Visual Studio の無効な環境を示す [Python 環境] ウィンドウのスクリーンショット。

保持する環境を修正するには、まず、環境インストーラーの修復プロセスを使用してみます。 ほとんどのインストーラーには修復オプションが含まれています。

環境を修正するためにレジストリを変更する

Python 環境に修復オプションがない場合や、無効な環境を削除する場合は、次の手順に従って直接レジストリを変更できます。 レジストリに変更を加えると、Visual Studio によって [Python 環境] ウィンドウが自動的に更新されます。

  1. regedit.exe 実行可能ファイルを実行してレジストリ エディターを開きます。

  2. 構成に対応する環境フォルダーを参照します。

    Python バージョン Folder
    64 ビット バージョン HKEY_LOCAL_MACHINE\SOFTWARE\Python または HKEY_CURRENT_USER\Software\Python
    32 ビット バージョン HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python
    IronPython IronPython
  3. 環境の配布とバージョンのノード構造を展開します。

    Distribution ノード
    CPython PythonCore>< バージョン ノード>
    Anaconda ContinuumAnalytics>< バージョン ノード>
    IronPython <バージョン ノード>
  4. InstallPath ノードの下の値を検査します。

    レジストリ エディターでの標準的な CPython インストールのレジストリ エントリのスクリーンショット。

    • コンピューター上にまだ環境が存在する場合は、ExecutablePath エントリの値を正しい場所に変更します。 また、必要に応じて、(Default)WindowedExecutablePath エントリの値を修正します。
    • コンピューター上に環境が存在しなくなり、[Python 環境] ウィンドウから削除する場合は、 InstallPath ノードの親ノードのバージョン番号を削除します。 このノードの例は、前述の画像で確認できます。 この例では、このノードは 3.6 です。

    注意事項

    HKEY_CURRENT_USER\SOFTWARE\Python キーの無効な設定で、HKEY_LOCAL_MACHINE\SOFTWARE\Python キーの設定が上書きされます。

Python 環境を削除する

Pythonプロジェクトを削除するには、ソリューション エクスプローラーで Python 環境を参照します。 削除する Python 環境を右クリックし、[削除] を選択します。

Visual Studio で Python 環境を削除する方法を示すスクリーンショット。

Python 環境を保持しながらプロジェクトから削除する場合は、[削除] を選択します。 環境を完全に削除する場合は、[削除] を選択します。

Visual Studio で Python 環境を削除する方法を示すスクリーンショット。