仮想環境: プロジェクトの隔離

プロジェクトごとに依存関係を分離。コンフリクトを防ぐ。

venv
標準の仮想環境モジュール。
Poetry
依存関係管理ツール。
requirements.txt
依存パッケージ一覧。

仮想環境とは?

プロジェクトごとの砂場 (Project Sandbox)

仮想環境は「プロジェクト専用の砂場」です。砂場(仮想環境)の中で、どんなお城(アプリ)を作ろうが、泥団子(パッケージ)を持ち込もうが、外の世界(他のプロジェクトやシステム全体)には一切影響を与えません。逆に、外の砂場が壊されても、自分の砂場は無事です。

Pythonを使う上で「仮想環境」は必須です。これを使わないと、あるプロジェクトで使ったパッケージが別のプロジェクトと競合してしまい(バージョン衝突)、どちらも動かなくなるといった「依存関係地獄」に陥ります。

venv Commands
# 仮想環境を作成
python -m venv .venv
# 有効化 (Windows)
.venv\Scripts\activate
# 有効化 (Mac/Linux)
source .venv/bin/activate
# 無効化
deactivate
# パッケージをインストール
pip install requests
# 依存関係を保存
pip freeze > requirements.txt
# 依存関係からインストール
pip install -r requirements.txt
Bad
Terminal window
# ❌ Bad: グローバルにインストール
pip install package # システム全体に影響
Good
Terminal window
# ✅ Good: 仮想環境内にインストール
python -m venv .venv
source .venv/bin/activate
pip install package # プロジェクト限定

モダンツール

Poetry, uv, pipx
# Poetry(推奨)
poetry new myproject
poetry add requests
poetry install
# pyproject.toml で管理
[tool.poetry.dependencies]
python = "^3.11"
requests = "^2.31"
# uv (高速な代替)
uv venv
uv pip install requests
# pipx (CLIツール用)
pipx install black
pipx install ruff
Tip: 新規プロジェクトは Poetry か uv を推奨。

合格ライン

venv を作成・有効化できる
requirements.txt を使える

演習課題

課題1: venv
venv を作成して有効化してください。
課題2: requirements.txt
requirements.txt で依存関係を管理してください。