連載
» 2018年05月22日 05時00分 公開

Visual Studio Codeで始めるPythonプログラミング:VS CodeでPythonするために必要なこと (3/3)

[かわさきしんじ,Insider.NET編集部]
前のページへ 1|2|3       

仮装環境の場合

 仮想環境を作成している場合はどうなるかについても簡単に見てみよう。ここでは、VS Codeの統合ターミナルを開いて作業をしてみることにする。Windowsでは[Ctrl]+[@]キー(macOS/Linuxでは[Ctrl]+[Shift]+[@]キー)を押すと、VS Codeに「統合ターミナル」が表示される。起動されるのはWindowsではPowerShell、macOSとLinuxでは環境変数$SHELLに設定されているシェルとなる(多くの場合はbashだろう)。

 以下はWindows 10版のVS Codeで「C:\project\vscpython\vscpython_01」フォルダを開き、[Ctrl]+[@]キーを押して、統合ターミナル(PowerShell)を開いたところだ。

VS Codeで統合ターミナルを開いたところ VS Codeで統合ターミナルを開いたところ

 統合ターミナルのプロンプトで「py -m venv env01」と入力することで、venvモジュールを利用した仮装環境を構築してみよう。なお、コマンドが「python」ではなく、「py」となっているのは、筆者がWindows環境ではpythonコマンドへのパスを通しておらず、pyコマンドでPython 2とPython 3の切り替えを行うようにしているからだ(残念ながら、python.pythonPath設定はここでは通じない)。他の環境やpythonコマンドにパスを通している場合には、適宜読み替えていただきたい。

仮装環境「env01」を作成したところ 仮装環境「env01」を作成したところ

 これにより、カレントフォルダに仮装環境「env01」が作成された。そして、env01フォルダにtest.pyを作成してみよう(ここでは、ファイルの内容は特に気にしなくてもよい)。

仮装環境をPython環境としていることに注意 仮装環境をPython環境としていることに注意
右下に本稿冒頭で見た「pylintがない」というメッセージが再度表示されているのは、この仮装環境にpylintがインストールされていないからだ(pipでインストールすればよいが、ここでは割愛する)。

 ステータスバーをよく見ると、「Python 3.6.5 (venv)」と書いてあることが分かる。これは先ほど作成した、env01をPython環境としているということだ。コマンドパレットを表示して、[Python: インタープリターの選択]を選択すると、作成したenv01が一覧の一番下にも表示されている。

選択できるPython環境が増えている(赤枠内) 選択できるPython環境が増えている(赤枠内)

 この設定は、やはりカレントフォルダの下にあるsettings.jsonファイルのpython.pythonPathで行われる。実際には次のような設定になっている。

{
  "python.pythonPath": "${workspaceFolder}\\env01\\Scripts\\python.exe"
}


Windows版のVS Codeでの仮装環境のパス

 「${workspaceFolder}」というのは、簡単にいえば、現在開いているフォルダの絶対パスとなる。ここでは、その直下にある仮想環境env01にあるpython.exeファイルをpython.pythonPath項目に設定している。

 macOSやLinuxでは、仮装環境のフォルダ構造がWindowsとは異なるので、パスの設定も異なるものになるはずだ。一度、自分の環境で試してみて、設定内容を理解したら、既存の仮装環境をVS Codeで開く際には、類似した設定をsettings.jsonファイルに直に記述してしまってもよいだろう。

 ドキュメントによれば、VS CodeはPythonのインタープリタ、Anacondaで作成した環境、上で見たようなPythonの仮装環境を自動的に検索してくれる。ただし、venvなどで作成した仮装環境に関しては、VS Codeで開いているフォルダの直下にものやsettings.jsonに記述したpython.venvPathで参照される仮装環境などだけが検索される。Anacondaで作成する環境については、pythonの実行形を含む環境だけがリストされるようになっている点にも注意されたい。

 参考までに、Anacondaシェルで「conda create --name condaenv01 python=3.6」コマンドを実行してから、Python環境の選択をしているところを示す。

Anacondaで作成した環境がPython環境の選択肢として追加されたところ(赤枠内) Anacondaで作成した環境がPython環境の選択肢として追加されたところ(赤枠内)

統合ターミナルでPythonと対話

 最後に、統合ターミナルでのPythonコードの対話実行を試してみることにしよう。Python環境が指定されていれば、コマンドパレットで「repl」などと入力して、[Python: REPLを開始]コマンドを実行すれば、統合ターミナルでPythonインタープリタが開かれる。

VS CodeでREPLを開始したところ VS CodeでREPLを開始したところ

 見ての通り、pythonコマンドを実行して表示される対話環境そのままなので、あまり使い勝手はよくない。例えば、以下のようにsysモジュールをインポートして、OSプラットフォームを表示しようという場合を考えよう。

sys.platform値の出力 sys.platform値の出力

 このときには、「sys.」と入力したところで、IntelliSenseが自動的に候補を表示してくれるということはない。[Ctrl]+[スペース]キーを押しても無駄だ。

 ただし、VS CodeのPython拡張機能では、エディタに記述したコードをREPL環境で実行してくれる機能がある。そして、エディタに開いた.pyファイルに対してはIntelliSenseが仕事をしてくれる。

.pyファイルではIntelliSenseが効く .pyファイルではIntelliSenseが効く

 これには、コマンドパレットから[Python: REPLを開始]ではなく、[Python: Python ターミナルで選択範囲/行を実行]を選択する必要がある(既にREPL環境を開いていても、このコマンドによりPythonターミナルが新規に起動される)。

 実際の手順としては、空行ではなく、Pythonコードを記述している行にカーソルを合わせて、コマンドパレットから[Python: Python ターミナルで選択範囲/行を実行]コマンドを実行する。これにより、Pythonターミナルが開かれる。次に、実行したい行を範囲選択して、このコマンドのショートカットである[Ctrl]+[Enter]キーを押せばよい。筆者が試したところでは、Windows版では一度Pythonターミナルを開く必要があり、macOSでは最初から範囲選択をして[Ctrl]+[Enter]キーを押すだけで、一発でPythonターミナルで選択範囲が実行された。この辺りは、環境によって相違があるかもしれない。


 今回は、VS CodeへのPython拡張機能のインストール、Python環境の指定、仮装環境の指定、対話環境でのコードの実行について見た。次回は、VS Code実際にPythonコードを記述、実行しながら、VS Codeの使い勝手を見ていこう。

「Visual Studio Codeで始めるPythonプログラミング」のインデックス

Visual Studio Codeで始めるPythonプログラミング

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

編集部からのお知らせ

RSSについて

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

メールマガジン登録

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