VS CodeでPython環境を入れたときにインポートできなくてはまった

ハマったこと

  • VS CodePythonプラグインを入れることで、コンソールが出てPythonコマンドを打てるようになるんだけど、ライブラリがうまくインポートできない。

解決手順

  • 生のPythonをインストールして特定のフォルダに仮想環境を作る
C:\Users\user1> py -m venv C:\Users\user1\py3env
C:\Users\user1> C:\Users\user1\py3env\Scripts\activate.bat
  • これでこのフォルダでpyコマンドを使うとその仮想環境上で実行される。
  • この仮想環境内でライブラリを入れるとその仮想環境だけで使えるようになる。
C:\Users\user1> py -m pip install numpy
C:\Users\user1>py
>>>import numpy
  • 次にプラグインを入れたVS Code上でコンソールを開き、同じフォルダに移動。
  • C:\Users\user1> C:\Users\user1\py3env\Scripts\activate.batでさっきの仮想環境に切り替えて import "さっき入れたライブラリ"しても「モジュールが見つかりません」とか出る。
  • どうやらVS CodeのコンソールはコマンドプロンプトではなくPowerShellとして動いているらしく、 PowerShellの仮想環境を有効にするには別のコマンドを実行しないといけないらしい。
PS C:\> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
PS C:\Users\user1> C:\Users\user1\py3env\Scripts\activate.ps1

結果

VS Codeのコンソール上でPythonの仮想環境が使えるようになった

参考サイト

www.python.jp