この記事では、PC内にPythonの仮想環境を作成し、作成した仮想環境をVSCODEで使用する方法について、解説していきます。
Pythonの仮想環境とは、PJごとに独立したPython環境を作成し、パッケージなどを独立して管理することができる環境になります。
仮想環境を使用しない場合、Pythonのグローバル環境にパッケージがインストールされてしまい、PJごとにパッケージを管理することができず、バージョン違いによる不具合の発生につながりかねないので、仮想環境を使用することが推奨とされています。
pipコマンド
まず初めに、Pythonのパッケージなどを管理するツールであるpipコマンドについて解説します。Python3.4以降のバージョンであれば標準で搭載されています。
パッケージのインストール
pipを使ってパッケージのインストールができます。サードパーティーのパッケージでもPyPIに公開されていれば、インストールすることができます。
なお、通常の手順でインストールしてしまうとPythonのグローバル環境にインストールされてしまうため、仮想環境(venv)を作成しインストールすることが推奨されています。
#インストール
pip install package-name
#バージョンを指定
pip install package-name==1.0.0
#インストール済みパッケージのアップグレード
pip install -U package-name
pip install --upgrade package-name
#指定のバージョン内最新版をインストール
pip install "package-name>=1.01,<2.00"
#アンインストール
pip unistall package-name
また、pipコマンド自体もPythonのパッケージの一部であるため、アップグレードが可能です。
python -m pip install --upgrade pip
パッケージの表示
#現環境にインストール済みのパッケージ表示
pip list
#最新版ではないパッケージの表示
pip list --outdated
#パッケージの詳細表示
pip show package-name
一括インストール
開発環境や本番環境などの複数環境で同一のパッケージ、バージョンを指定したい場合、requirements.txtなどのテキストファイルにパッケージ情報を管理します。
#現環境のパッケージバージョンをテキストファイルへ書き出し
pip freeze > requirements.txt
#テキストファイルの情報からパッケージをインストール
pip install -r requirements.txt
#constraintsファイルでバージョンなどを制限する
pip install -r requirements.txt -c constraints.txt
pipバージョン指定
pipコマンドの操作のバージョンを指定したい場合は、以下のコマンドを実行します。
#3.9のpipを使用したい場合
pip3.9 install package-name
python3.9 -m pip install package-name
VSCodeで仮想環境を使う方法
環境条件
私は以下のような環境で作業を実施しています。OSによって、コマンドが異なります。
- windows11
- Python3.12.4
- VSCode・Python拡張機能インストール済み
作業手順
1.任意の場所にプロジェクト用のフォルダを作成します。
私は、「python-project」フォルダをでデスクトップに作成しています。
2.VSCODEで作成したフォルダを開きます。
3.「ctrl+j」でターミナルを立ち上げ、ターミナルに以下のコマンドを入力して、仮想環境を作成します。
これにより、プロジェクトごとに独立したPython環境が作られます。「python -m venv」の後ろにディレクトリ名を指定します。
私は、「python -m venv venv」を入力しディレクトリが作成されました。
python -m venv venv
4.仮想環境を作成した後、次のコマンドで仮想環境を有効化します。
.venv\Scripts\activate
パスの先頭が仮想環境の表示になります。
(.venv) C:\Users\name\Desktop\python-project>
5.仮想環境が有効になったら、VSCodeのターミナルでPythonを実行したり、必要なパッケージをインストールしたりできます。
例えば、pip install コマンドを使ってFlaskパッケージを作成した仮想環境へインストールします。
pip install flask
6.main.pyでflaskを使用してHelloWorldを表示させるファイルを作成しました。(以下は例になりますので、任意のパッケージをインストールしてみてください。)
この状況でファイルを実行しても、モジュールが見つからないということで、以下のエラーが発生します。
ModuleNotFoundError: No module named 'flask'
7.VSCODE上Pythonのインタプリタが仮想環境のものに設定されていません。
VSCODEの右下の表示を見るとグローバルが指定されていますので設定を変える必要があります。右下の表示をクリックして作成した仮想環境のインタプリタを選択します。
8.インタプリタが仮想環境に切り替わり、先ほどインストールしたFlaskが呼び出せるようになり、エラーも解消されました。
9.作業が終わった後は、仮想環境を無効にすることができます。
deactivate