Python Tools for Visual Studioのセットアップ特集:Visual Studioで始めるPythonプログラミング(1/2 ページ)

Python Tools for Visual Studioを使うと、高度な開発者支援機能を活用して、Pythonプログラミングが行える。今回はその概要について見ていこう。

» 2016年09月09日 05時00分 公開
[かわさきしんじInsider.NET編集部]
「特集:Visual Studioで始めるPythonプログラミング」のインデックス

連載目次

 Visual Studio(以下、VS)が.NET開発者だけのものだった時代はもう終わっている。現在では、.NET言語に加えて、JavaScriptやTypeScriptなど、さまざまな言語がサポートされるようになった。本特集では、そうした言語の中でもPythonに焦点を当て、VSでPythonプログラミングを始めるための基礎知識を何回かに分けて紹介していこう。

Python Tools for Visual Studio

 VSでPythonを利用するには「Python Tools for Visual Studio」(以下、PTVS)が必要になる。PTVSは、マイクロソフトとコミュニティーによりオープンソースソフトウェア(OSS)として開発が行われているVS用のPythonプラグインである。2016年9月8日時点の最新バージョンは2.2.5で、サポートしているVSのバージョンはVS 2015のみとなっている(PTVS 2.2.2ではVS 2013が、PTVS 2.1.1ではVS 2010/2012がサポートされている)。

 PTVSのインストールには、VSのインストーラーで[プログラミング言語]の下にある[Python Tools for Visual Studio]にチェックを入れるか、PTVSのリリースノートページなどからインストーラーをダウンロードして実行する。

VS 2015でPTVSをインストールするように構成を行っているところ VS 2015でPTVSをインストールするように構成を行っているところ

 PTVSとは別にPythonの処理系をインストールする必要もある。PTVSはその名の通り、VS用のPythonサポートツールであって、Python自体は含まれていない。逆にPython処理系を含んでいないことから、PCへ複数のPython処理系をインストールして、それらをVS環境内で簡単に切り替えられるようになっている。多くの処理系は、それらをインストールすることでPTVSが自動的に認識してくれる。例えば、「PTVS Installation」ページでは以下の処理系が挙げられている。

 AnacondaとCanopyはデータサイエンス/データ解析系の技術者向けにPython処理系に加えて多くのライブラリ/フレームワークをあらかじめパッケージングしてあるものだ。Pythonのパッケージのインストールで苦労したくないのであれば、これらを最初から使ってしまうのも1つの手だ。

 この他にもJython(PythonのJVM実装)などもPTVSではサポートされているが、ドキュメントによるとデバッグなどの機能は使えない。

 本稿ではCPython 2.7/3.5(32bit)とAnaconda 4.1.1(Python 3.5/64bit)を例としてインストールした(インストール手順は省略する)。

[Python Environments]ウィンドウ

 PTVSおよび各種のPython処理系をインストールすることで、VSでPythonプログラミングが可能になる。PTVSはインストールされているPython処理系を(多くの場合)自動認識してくれ、どれをデフォルトの環境とするかを指定したり、それぞれの環境の構成を行ったりできる。これを行うための入口となるのが[Python Environments]ウィンドウだ。

[Python Environments]ウィンドウ(ドッキング状態)
[Python Environments]ウィンドウ(フロートウィンドウ状態) [Python Environments]ウィンドウ
上はソリューションエクスプローラーなどと同じ位置にドッキングしたもの。下はフロートウィンドウとして表示して、サイズを変更したもの。

 3つのPython処理系(環境)が認識されていることが分かる。そして、ボールド書体で表示されているものが現在デフォルトで使用される環境となる(ここでは[Python 64-bit 3.5]=Anaconda 4.1.1になっている。下に「This is the default environment for new projects」と表示されていることに注意)。

 デフォルトの環境を変更するには、対象の環境を選択して、その下にある[Make this default environment for new projects]をクリックする。また、[Go online and help me find other environments]をクリックすると、「Selecting and Installing Python Interpreters」ページがVS内で表示される(どんな処理系をインストールできるかを知りたい人は英語のドキュメントだが一読しておこう)。

デフォルトの環境を切り替える デフォルトの環境を切り替える
デフォルトの環境にしたいものを選択して((1))、[Make this the default environment for new projects]をクリックする((2))。

 [Python Environments]ウィンドウでは各種の構成も行えるが、以下では[Open interactive window]をクリックして、VS内でPythonを対話的に使ってみよう。

[Interactive]ウィンドウを使ってみる

 [Open interactive window]をクリックすると、VS内に[Interactive]ウィンドウが表示される。インストールされている環境ごとに別々のタブを開くことも可能だ。以下に例を示す。

[Interactive]ウィンドウ(3つのタブがあることに注意) [Interactive]ウィンドウ(3つのタブがあることに注意)

 まずはPythonにデフォルトで組み込まれているモジュール「os」をインポートしてみよう。「import os」と入力すると、IntelliSenseが働いて、概要が表示される。

PTVSではIntelliSenseが働く PTVSではIntelliSenseが働く

 osモジュールはOS依存の機能に対する統一的なインタフェースを提供する。そこで次に「os.name」と入力してみよう。Windowsで実行している場合、その結果は「'nt'」になる(Windows NTの「nt」)。同様にしてsysモジュールをインポートして、今度は「sys.version」と入力してみる(sysモジュールはPythonインタープリタ=[Interactive]ウィンドウに関連するシステムパラメーターや関数を管理するモジュール)。以下は「Python 64-bit 3.5」環境での実行結果だ。

sys.versionの値を表示 sys.versionの値を表示

 os.nameの値は今回インストールしている3つの環境全てで「'nt'」になるが、sys.versionの値は環境ごとに異なる(興味のある方は、ご自分でも幾つかの環境をインストールして実行してみよう)。このように、PTVSは環境ごとに独自のコンテキストを持つ[Interactive]ウィンドウを通してPythonの対話的実行が可能になっている。

 モジュールをインポートして、そこで定められている値を表示するだけではつまらないので、今度はfor文とリストを使ってみよう。以下に例を示す。

>>> lst = list(range(3))
>>> lst
[0, 1, 2]
>>> for n in lst:
...     print(n * 2)
...
0
2
4


リストの要素を2倍にして出力

 最初の行では「0〜2の範囲」を表すrange型のオブジェクトを作成して、それを基にリストオブジェクトを作成している。そして、リストを反復して、各要素の値を2倍してコンソールに出力している。

 関数も定義できる。これについては説明の必要もないだろう。

>>> def hello(to):
...     print("hello " + to)
...
>>> hello("Insider.net")
hello Insider.net


関数の定義と呼び出し

 キーワードで始める各文の末尾にあるコロン(:)とインデントによるブロックの指定はPythonコードの見た目における特徴的な要素といえる(Pythonの文法については次回以降で簡単に取り上げる)。

 ここまではPTVSをインストールしたVSの中で特にプロジェクトを作成することもなく、Pythonの対話的実行を試してきた。次ページではPythonのコンソールアプリプロジェクトを作成して、これを実行してみよう。

       1|2 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。