1. 概要
PythonでWebアプリやデータ分析を行う際に悩むのが「仮想環境をどこでどう作るか」。
本記事では以下の点を網羅的に解説します:
-
condaとvenvの使い分け - 仮想環境の起動・終了方法
-
.venvへの移行手順(conda → venv) - よく使う pip コマンド集
2. 仮想環境とは
仮想環境とは、プロジェクトごとに依存ライブラリやPythonのバージョンを分離する仕組みです。
Pythonには「グローバル環境」と呼ばれるシステム共通の領域がありますが、それをそのまま使っているとプロジェクト間でライブラリの衝突が起きやすくなります。
✅ 仮想環境を使うメリット
- プロジェクトごとのライブラリ管理ができる
- Pythonのバージョンも個別に切り替えられる
- 環境の再現性が高い(チーム・本番など)
- 壊れても
.venvフォルダを削除すればすぐ再構築できる
⚠️ 仮想環境を使わなかったら起きる問題
| 問題 | 説明 |
|---|---|
| ライブラリのバージョン衝突 | プロジェクトAは Flask==3.1.1、Bは Flask==1.1.2 が必要 → どちらかが壊れる |
| 他人のPCで動かない |
requirements.txt で環境を共有できず、「動かないコード」になってしまう |
| グローバル環境が汚れる | ライブラリが増えすぎてどこで使っているか不明、アンインストールも怖くなる |
| 本番環境とローカルで動作差異が出る | 本番では psycopg2==2.9.1 なのにローカルは 2.8.6 → バグ発生 |
| デプロイやCI/CDに不向き |
venv や requirements.txt による環境の再現性がないと自動化が困難 |
🧠 Anaconda(conda)と venv の違い
| 項目 | conda環境(Anaconda) | venv(Python標準) |
|---|---|---|
| 作成方法 | conda create -n 環境名 |
python -m venv .venv |
| 管理ツール | Anaconda Navigator / conda | pip / venv |
| 主な用途 | データ分析 / Jupyter系 | Webアプリ / 軽量構成 |
| 環境の場所 | anaconda3/envs/ |
プロジェクト直下に.venv/
|
| PATHの切替 | やや複雑 | 単純でVSCodeが自動認識しやすい |
| 共有方法 | environment.yml |
requirements.txt |
| おすすめ対象 | データサイエンティスト | Webエンジニア / 学習者全般 |
🎯 どういうときにどちらを選ぶ?
| ケース | おすすめ |
|---|---|
| Flask / Django などWebアプリ | .venv |
| GitHubで共有したい / 再現性を重視 | .venv |
| Jupyter Notebookやpandasが主役 | conda |
| VSCodeで楽に開発したい |
.venv(自動認識される) |
3. .venv の使い方(Python標準)
✅ 初回のみ
コマンドプロンプト
# 仮想環境作成(プロジェクト直下)
python -m venv .venv
# 有効化(Windows)
.\.venv\Scripts\activate
# ライブラリをインストール
pip install flask psycopg2-binary flask-login
pip freeze > requirements.txt
✅ 毎回やる実行手順(プロジェクト起動)
コマンドプロンプト
cd (yourproject)
.\.venv\Scripts\activate
python run.py
deactivate
4. conda → .venv に移行する手順(再構築)
コマンドプロンプト
# 1. conda環境を有効化
conda activate (環境名)
# 2. ライブラリを書き出し
pip freeze > requirements.txt
# 3. プロジェクト直下に .venv を作成
cd C:\Users\yourname\yourproject
python -m venv .venv
# 4. .venv を有効化
.\.venv\Scripts\activate
# 5. ライブラリをインストール
pip install -r requirements.txt
# 6. 不要なら conda 環境を削除
conda remove --name (環境名) --all
5. pip関連コマンドまとめ
コマンドプロンプト
# ライブラリ追加
pip install ライブラリ名
# ライブラリ削除
pip uninstall ライブラリ名
# ライブラリ一覧保存
pip freeze > requirements.txt
# 一括インストール
pip install -r requirements.txt