この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:12
ページ更新者:T
更新日時:2026-06-11 07:12:00

タイトル: 環境構築
SEOタイトル: Python 開発環境構築の決定版 — pyenv / venv / poetry / Anaconda の使い分け

この記事の要点
  • Python のインストールは 公式インストーラー (python.org) が王道。 macOS/Linux は pyenv で複数バージョン管理が便利
  • プロジェクト毎の隔離環境python -m venv env が標準。 サードパーティ不要
  • パッケージ管理: pip + requirements.txt がシンプル。 モダンには poetry / pipenv + pyproject.toml
  • データサイエンス用途は Anaconda / Miniconda。 ただし 2020 年以降は商用利用ライセンス注意 → Miniforge が無料代替
  • IDE は VS Code (Python 拡張) か PyCharm。 インタプリタを venv のものに切り替えるのがハマりポイント

Python 本体のインストール

OS推奨方式備考
Windows公式インストーラー (python.org) または Microsoft Store「Add python.exe to PATH」必ずチェック
macOSpyenv 経由、または公式インストーラーシステム Python (2.7/3.x) は使わない
Linuxディストリ標準 + pyenvシステム Python は OS が使うので別途
データサイエンスMiniforge / AnacondaNumPy / SciPy のビルド済バイナリ取得

Windows 公式インストーラー

# https://www.python.org/downloads/ から DL
# python-3.12.x-amd64.exe を実行

# インストール時のチェック:
#   ☑ Add python.exe to PATH      ← 必須
#   ☑ Install pip
#   ☑ tcl/tk and IDLE
#   ☑ Python test suite
#   ☑ py launcher (for all users)

# 確認
python --version
pip --version
where python

macOS / Linux で pyenv

# macOS (Homebrew)
brew install pyenv

# Linux
curl https://pyenv.run | bash

# .bashrc / .zshrc に追加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# 利用可能バージョン一覧
pyenv install --list | grep " 3\."

# インストール
pyenv install 3.12.1
pyenv install 3.11.7

# グローバル設定
pyenv global 3.12.1

# プロジェクト毎の設定(.python-version が作られる)
cd myproject
pyenv local 3.11.7

仮想環境: venv (標準)

プロジェクト毎にパッケージを隔離するのが Python の基本作法です。 Python 3.3+ に venv が標準同梱されているため、サードパーティ不要。

# 仮想環境を作成(フォルダ名 env / venv / .venv が慣習)
python -m venv env

# 有効化 (Linux / macOS)
source env/bin/activate

# 有効化 (Windows PowerShell)
.\env\Scripts\Activate.ps1

# 有効化 (Windows cmd)
env\Scripts\activate.bat

# 確認(プロンプトに (env) が付く)
(env) $ which python
/path/to/myproject/env/bin/python

# パッケージインストール
(env) $ pip install requests django

# 抜ける
(env) $ deactivate

requirements.txt と pyproject.toml

方式ファイルメリットデメリット
pip + requirements.txtrequirements.txtシンプル、標準依存解決が弱い、ロックファイル無し
pipenvPipfile / Pipfile.lockロックファイル、開発依存分離開発が緩慢
poetrypyproject.toml / poetry.lockモダン、ビルド/公開も統合独自仕様
condaenvironment.yml非 Python パッケージも管理専用 channel 依存
uv (新興)pyproject.tomlRust 製で超高速2024 年登場、まだ若い

requirements.txt の典型

# requirements.txt
Django==4.2.7
djangorestframework==3.14.0
psycopg2-binary>=2.9
requests~=2.31.0     # 2.31.x まで許容
# == 完全一致 / >= 以上 / ~= 互換アップデート
# 現在の環境を保存
pip freeze > requirements.txt

# 別環境で再現
pip install -r requirements.txt

# 開発用依存を分けるなら
# requirements.txt        本番
# requirements-dev.txt    開発(pytest, black 等)
pip install -r requirements-dev.txt

poetry の典型

# インストール
curl -sSL https://install.python-poetry.org | python3 -

# プロジェクト初期化
poetry new myproject
cd myproject

# 依存追加(pyproject.toml に自動記録)
poetry add django
poetry add --group dev pytest black

# 仮想環境で実行
poetry run python manage.py runserver
poetry shell                    # シェル起動

# ロックファイルから再現
poetry install

Anaconda / Miniconda / Miniforge

NumPy / SciPy / pandas / scikit-learn 等を一括導入したい場合に便利。 ただし 2020 年に商用ライセンス変更があり、 200 名超え組織での Anaconda 商用利用は有償化されました。 個人/学術は引き続き無料。

製品概要商用利用
Anaconda Distributionフル、 GUI Navigator 付200 名超は有償
Minicondaconda + Python のみ最小同上(defaults チャネル使用時)
Miniforgeconda-forge ベースの軽量版完全無料
MambaforgeMiniforge + 高速ソルバー mamba完全無料
# 環境作成
conda create -n myenv python=3.11

# 有効化
conda activate myenv

# パッケージ追加
conda install numpy pandas scikit-learn
conda install -c conda-forge jupyterlab

# pip 併用も可能(基本は conda 優先)
pip install some-pip-only-pkg

# 環境エクスポート
conda env export > environment.yml

# 再現
conda env create -f environment.yml

IDE 設定 (VS Code / PyCharm)

VS Code

  1. 拡張機能「Python」(Microsoft 製)をインストール
  2. Ctrl + Shift + PPython: Select Interpreter
  3. venv の python.exe を選択(例: ./env/bin/python
  4. .vscode/settings.json に保存される
  5. linter は ruff、 formatter は black 推奨
// .vscode/settings.json
{
  "python.defaultInterpreterPath": "./env/bin/python",
  "python.analysis.typeCheckingMode": "basic",
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  },
  "python.linting.enabled": true
}

PyCharm

  • 新規プロジェクト作成時に 「New environment using: Virtualenv」選択
  • 既存プロジェクトは Settings → Project → Python Interpreter → Add Interpreter
  • Community 版でも venv / poetry / conda に対応

使い分けフローチャート

  • Web 開発・自動化 → 公式 Python + venv + pip + requirements.txt(シンプル)
  • OSS ライブラリ公開 → poetry + pyproject.toml(ビルド・公開まで一気通貫)
  • データサイエンス・機械学習 → Miniforge + conda(C 拡張ビルド済)
  • 速さ重視・モダン志向 → uv (Rust 製、 pip の 10〜100 倍速)
  • 複数 Python バージョン切替 → pyenv + venv 併用

FAQ

Q: venv と virtualenv の違い?
A: virtualenv はサードパーティ製で歴史が古い。 Python 3.3+ で標準化したのが venv。 機能はほぼ同じ。 venv 推奨。

Q: Anaconda の代替は何?
A: 商用ライセンス回避なら Miniforge。 個人利用なら Anaconda のままで OK。

Q: requirements.txt と pyproject.toml は併用できる?
A: 可能。 poetry は poetry export -f requirements.txt で吐けます。 docker ビルド時に便利。