0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python仮想環境(venv)をWSL2で導入する手順と基本操作

Posted at

1. はじめに

Pythonで開発を進めていると、ライブラリのバージョン違いや依存関係の衝突によって「動いていたコードが急に動かなくなる」「他の環境で再現できない」といった問題が起こりがちです。

こうしたトラブルを防ぐために、**仮想環境(venv)**を使うことで、プロジェクトごとにライブラリのバージョンや依存関係を分離・管理できます。

ユースケース

  • システム全体で使っているPython環境に影響を与えないようにモジュールの追加・入れ替えをしたい
  • 異なるバージョンのライブラリを使いわけたい

この記事では、WSL2環境でPython仮想環境を導入し、基本的な使い方を整理します。

2. 前提条件

この手順は、WSL2上でpythonを使っている環境を前提としています。

  • WSL2(Ubuntu22.04 LTS)
  • python3がインストールされている
  • pipが使える状態である

これらがすべて確認できたら、仮想環境の作成に進めます。

3. 仮想環境(venv)の作成手順

まずは、プロジェクト用のディレクトリを作成し、その中に仮想環境を構築します。

# プロジェクトディレクトリを作成して移動
mkdir my_project
cd my_project

# 仮想環境を作成
python3 -m venv .venv
  • 仮想環境のディレクトリ名は、.venv以外でも、好きな名前をつけても大丈夫
  • .venv/ ディレクトリが作成されます。ここには、仮想環境に必要なPython実行ファイルやライブラリが格納されます
    エラーが出たときは、venvが使えないときの対処を参照してみてください

** :file_folder: ディレクトリ構成

my_project/
├── .venv/         ← 仮想環境
├── main.py        ← プロジェクトのコード
├── requirements.txt

4. 仮想環境の有効化・無効化

作成した仮想環境を使うには、まず有効化(activate)します。

# 仮想環境の有効化
source .venv/bin/activate

有効化されると、プロンプトの先頭に (.venv) のような表示が付きます。これが仮想環境内であることの目印です
仮想環境を終了したいときは、以下のコマンドで無効化(deactivate)します。

# 仮想環境の無効化
deactivate

:white_check_mark:有効化されているか確認する方法
仮想環境が有効になっているかは、Pythonの実行パスを確認するとわかります。
仮想環境が有効になっていれば、.venv/bin/pythonのようなパスになります。

which python

出力例(仮想環境が有効な場合):

/home/username/my_project/.venv/bin/python

出力例(グローバル環境の場合):

/usr/bin/python

5. パッケージのインストールと管理

仮想環境を有効化した状態で、必要なライブラリを pip でインストールします。

# 仮想環境を有効化
source .venv/bin/activate

# ライブラリをインストール(例:psycopg2, pytest)
pip install psycopg2 pytest

:white_check_mark: インストール済みライブラリの確認

pip list

:white_check_mark: 環境の再現性を保つために requirements.txt を作成

pip freeze > requirements.txt

このファイルを共有すれば、他の環境でも同じライブラリ構成を再現できます

:white_check_mark: requirements.txt から環境を復元する方法

pip install -r requirements.txt

:white_check_mark: ライブラリのアンインストール

pip uninstall psycopg2

補足

venvが使えないときの対処

対処方法:python3-venv をインストール

sudo apt update
sudo apt install python3-venv

その後、再度仮想環境を作成してください:

python3 -m venv .venv

gitignore に .venv/ を追加する理由

仮想環境 .venv/ は、プロジェクトごとにローカルで構築される一時的な環境です。これを Git 管理対象に含める必要はありません。
以下の理由から、.gitignore.venv/ を追加するのが一般的です。

  • 理由1:不要なファイルのコミットを防ぐ
    .venv/ には数千のファイルが含まれるため、Gitリポジトリが肥大化し、管理が煩雑になる
  • 理由2:環境は requirements.txt で再現可能
    仮想環境そのものを共有するのではなく、requirements.txt を使って他の環境で再構築するのが基本
  • 理由3: 環境依存の差異を避ける
    仮想環境にはOSやPythonバージョンに依存するバイナリが含まれるため、他の環境で動作しない可能性がある

:pencil: .gitignore の記述例

.venv/
pycache/
*.pyc

この設定により、仮想環境をローカルで自由に使いつつ、Gitリポジトリは軽量で再現性の高い状態を保てます。

VSCodeで仮想環境を認識させる方法(Python interpreter設定)

仮想環境 .venv/ を作成しただけでは、VSCodeが自動で認識しない場合があります。以下の手順で、仮想環境を明示的に選択することで、VSCode上でも仮想環境を有効化できます。

VSCodeでプロジェクトフォルダを開く

```bash
code .

WSL2上で code . を実行すると、現在のディレクトリがVSCodeで開かれます。

Python interpreter を選択する

  1. VSCode画面左下の「Pythonバージョン(例:Python 3.10.12)」をクリック
    ※ 表示されていない場合は、Ctrl + Shift + P → 「Python: Select Interpreter」を実行
  2. .venv/bin/python を選択
    例:Python 3.10.12(.venv)
    ターミナルを新規で開くとプロンプトの前に(.venv)の表示が出るようになります

settings.json に明示的に指定する方法(任意)
.vscode/settings.json に以下を記述することで、仮想環境を固定できます。

{
  "python.pythonPath": ".venv/bin/python"
}

6. おわりに

Pythonの仮想環境(venv)を使うことで、ライブラリの依存関係やバージョンの衝突を防ぎ、再現性の高い開発環境を構築できます。
WSL2環境でも、仮想環境の作成・有効化・パッケージ管理はシンプルな手順で実現できるため、日々の開発やチーム共有にも役立ちます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?