[Python 開発]ワークロード(と各種のサポート機能)をインストールすると、VS 2017の[新しいプロジェクト]ダイアログで、Python向けのプロジェクトテンプレートを選択できるようになる。
どのようなプロジェクトテンプレートが利用可能かについては「プロジェクト テンプレート」を参照されたい。ここでは、シンプルにコンソールアプリ用のプロジェクトテンプレートを使用して、簡単なアプリを作成している。ただし以下では、コードは書かずに、ソリューションエクスプローラーを中心にプロジェクトで使用する環境の構築について見ていく。
プロジェクト作成直後のソリューションエクスプローラーは次のようになっている。
[Python 環境]の下には、そのプロジェクトで利用可能なPython環境が表示される。[参照]というのは、他のプロジェクトと同様に、このプロジェクトから他のプロジェクトや拡張機能への参照を追加したり、現在参照しているものを一覧したりするのに使用する。[検索パス]にはPythonが検索するパスやZIPアーカイブを指定できる。
デフォルトでは、[Python 環境]の下には、[Python 環境]ウィンドウで「デフォルトの環境」として選択されているものが表示される。なお、デフォルトの環境を変更するには[Python 環境]ウィンドウの上部で、デフォルトの環境にしたいものを選び、[これを新しいプロジェクトに対する既定の環境とする]リンクをクリックする。
上の画像では、Anaconda 4.4.0が選択されている。ここで[これを新しいプロジェクトに対する既定の環境とする]リンクをクリックすれば、それ以降はAnaconda 4.4.0がデフォルトの環境として使われるようになる。
使用する環境をプロジェクトごとに固定することも可能だ。これにはソリューションエクスプローラーで[Python 環境]を右クリックして、コンテキストメニューから[Python 環境を追加/削除]を選択する。すると、VS 2017で利用可能な環境が表示されるので、そこからプロジェクトで使用する環境を選択すればよい。これにより、デフォルトに指定されていたPython環境ではなく、指定した環境がそのプロジェクトで使用されるようになる。
例えば、上のようにAnaconda 4.4.0とPython 3.6を選択すると、ソリューションエクスプローラーの表示は次のようになる。
先ほど示したプロジェクト作成直後のソリューションエクスプローラーではPython 3.6の隣に「グローバル デフォルト」と表示されていたが、上の画像ではそういった表示はなくなっている。「グローバル デフォルト」というのは、それが全てのプロジェクトのデフォルト環境であることを示している。一方、「グローバル デフォルト」という文言がないのは、ここでは同じ環境(Python 3.6)を指定してはいるが、それは明示的にその環境を選択していることを意味している。なお、どの環境を使用するかを指定するには、使用したい環境を右クリックして、コンテキストメニューから[環境のアクティブ化]を選択する。
さらにプロジェクトごとに固有の「仮想環境」も構築できる。これは、特定の環境(Anaconda 4.4.0、Python 3.6など)の上に、特定のパッケージなどをインストールした仮想的な環境だ。アプリで使用するパッケージや、そのバージョンなどはプロジェクトごとに異なるものになりがちだ。そうしたプロジェクト依存の情報をまとめて管理できるようにしたものが仮想環境である。VS 2017で仮想環境を構築するには、ソリューションエクスプローラーで[Python 環境]を右クリックして、コンテキストメニューから[仮想環境を追加]を選択する。すると、次のようなダイアログが表示される。
ここで仮想環境の名前と、ベースとなる環境を選択する。その後は、仮想環境に対して、パッケージのインストールなどを行う。例えば、Python 3.6環境をベースとした「sample」という名前の仮想環境を作成して、そこにnumpyパッケージを追加した状態のソリューションエクスプローラーを以下に示す。
ベースとしたPython 3.6の環境にはnumpyパッケージがないが、sampleの環境にはnumpyパッケージがインストールされていることが分かる。このようにベース環境に変更を加えることなく(あるいは、他のプロジェクトに影響を与えることなく)、プロジェクトに必要なパッケージの管理を個別に行えるのが仮想環境を構築する大きなメリットだ。なお、仮想環境を削除するには、削除したい仮想環境を右クリックして、コンテキストメニューから[削除]を選択する。
最後に[Python 開発]ワークロードを使用する上でのちょっとした注意点について触れておこう。
[Python 開発]ワークロードのインストール時に、事前にインストールしてあるPythonに対応するチェックボックスを[概要]ペーンや[個別のコンポーネント]タブでオンにすると、その後で[Python 開発]ワークロードをアンインストールするときにその処理系が同時にアンインストールされてしまうので気を付けよう。
例えば、既にPython 3.6.2(執筆時点で最新の処理系)をインストールしていて、その状態で[Python 開発]ワークロードをインストールしようとしたとする。このときに、このバージョンに対応する[Python 3 64-bit (3.6.2)]チェックボックスをオンにして、このワークロードをインストールすると、その後でこのワークロードをアンインストールしたときに、対応するPython処理系まで同時にアンインストールされてしまう。これを避けるには、ワークロードのインストール時に[Python 3 64-bit (3.6.2)]チェックボックスをオフにしておく。
上の画像では、既にPython 3.6.2がインストールしてあるがワークロードのアンインストール時に一緒にアンインストールされたくはないので、[Python 3 64-bit (3.6.2)]チェックボックスをオフにしている。
[Python 開発]ワークロードは、必要に応じて処理系のインストールからアンインストールまでをワークロードが一括して管理してくれるワンストップなツールであり、その管理下にインストール済みの処理系を含めるかどうかを、チェックボックスのオン/オフで決定していると考えるのがよいだろう。
最後にもう1つ。既にローカル環境には存在していないバージョンのPythonが[Python 環境]ウィンドウに表示されている場合には、レジストリの「HKEY_CURRENT_USER\Software\Python\PythonCore」以下に余計なキーが残っていないかを確認してみよう。
本稿では[Python 開発]ワークロードのインストール、[Python 環境]ウィンドウ、[Interactive]ウィンドウ、ソリューションエクスプローラーでのPython環境の取り扱いなど、VS 2017におけるPythonサポートについて見てきた。ここでは取り上げなかったが、[Python 開発]ワークロードではIntelliSenseを利用した快適なコード入力、デバッグなどの機能ももちろんサポートされている。さらに詳細を知りたいという場合には「Visual Studio での Python の使用」などのページを参照してほしい。
Copyright© Digital Advantage Corp. All Rights Reserved.