delhi09の勉強日記

技術トピック専用のブログです。自分用のメモ書きの投稿が多いです。あくまで「勉強日記」なので記事の内容は鵜呑みにしないでください。

VS Codeはvenv配下のPythonのパスを自動で認識してくれる

VS Code環境変数に登録されたPythonのパスしか認識してくれないと思っていたのだが、venvで作成したディレクトリ配下のPythonのパスがVS Code側で自動で認識されており、かつ使用するPythonとして設定されていることに気づいた。


そこで、VS CodePythonのパスを認識する際の仕様について公式ドキュメントを確認してみた。

code.visualstudio.com

VS Codeが自動でPythonのパスを認識する条件がいくつか記載されているが、今回は以下の条件に該当したと考えられる。

Where the extension looks for environments
The extension automatically looks for interpreters in the following locations:

...
・Virtual environments located directly under the workspace (project) folder.
...

すなわち、workspace直下に仮想環境のディレクトリ(.vnev)が存在する場合は、ディレクトリ配下のPythonのパスをVS Codeが自動で認識してくれるとのことである。


VS Codeが複数のPythonを発見した場合に、どのPythonが使われるのかの優先順位については、記載が見つけられなかった。


ただ、挙動をみる限りでは、workspace直下に仮想環境のディレクトリが存在する場合は、仮想環境配下のPythonが最優先で使用されると考えて良さそうである。(MacにグローバルインストールされているPythonよりも優先された。)


尚、以下に赤枠で囲ったフッター部分の「Python 〜」の部分を押すと、

  • 現在使われているPythonのバージョン・パスの確認
  • VS Codeに認識されているPython一覧の確認
  • 使用するPythonの変更

が可能である。

f:id:kamatimaru:20200504232901p:plain