テスト環境
- Windows 11
- Python 3.8.10
- pip 23.0.1
Pipenv をインストール
Pipenv とは、Python で開発するときに、プロジェクトごとにパッケージ管理や仮想環境構築を簡単に行えるツール。
> pip install pipenv
仮想環境を構築
> python -m pipenv --python 3.8.10
必要なモジュールをインストール
例)Pandas
> pipenv install pandas
# app.py
import pandas as pd
df= pd.DataFrame([[1,2],[3,4]])
print(df)
このまま VSCode で F5 で実行しても ModuleNotFoundError が発生してしまう。つまり、VSCode 側が仮想環境を使えていない。
Pipenv の仮想環境の場所を確認
python -m pipenv --py
C:\Users\{ユーザ名}\.virtualenvs\{文字列}\Scripts\python.exe
これが Python の実行パスです。メモメモ。。
Python 実行環境を選択
Python ファイルを開いた状態で、VSCode のウィンドウ右下ツールバーの赤枠をクリック

先ほどの実行パスと同じインタプリターパスを選択

選択に出てこない場合:VSCode にパスを教えてあげる
VSCode のコマンドパレットを開き(Windows の場合は Ctrl+Shift+p)、「workspace setting」と検索

基本設定: ワークスペース設定を開く(JSON)を選択し、Python の実行パスを追記。
バックスラッシュ2つでエスケープすることを忘れずに!
// ターミナル起動時に仮想環境も起動する
"python.terminal.activateEnvInCurrentTerminal": true,
"python.defaultInterpreterPath": "C:\\Users\\{ユーザ名}\\.virtualenvs\\{文字列}\\Scripts\\python.exe"
}
この設定方法の場合、ターミナルも自動的に仮想環境に入れるようになるので便利
おまけ:Pipenv で作った仮想環境を削除
環境を消したいプロジェクトのフォルダで、以下のコマンドを実行
python -m pipenv --rm
最後に
Pipenv 便利だけど、JS の Yarn とか npm みたいにプロジェクトフォルダにモジュール置く方が楽じゃねって思う
