1.

Python 本体とライブラリのインストール完全ガイド(pip / venv / poetry / conda 使い分け)

編集
この記事の要点
  • Python 本体は公式インストーラー(python.org) またはpyenvで入れる。OS の Python は使わない
  • ライブラリはpip install。プロジェクト毎の依存は requirements.txt で管理
  • プロジェクトごとにpython -m venv venvで仮想環境を作るのが現代の標準
  • pipenv: Pipfile + Pipfile.lock で依存ロック。シンプルだが活発さは落ち気味
  • poetry: pyproject.toml で管理。パッケージ公開・ロックの両方に対応する現代主流
  • conda: 機械学習・科学計算で C 拡張をまとめて入れたい場合に強い

パッケージ管理ツールの全体像

ツール本体管理ライブラリ管理仮想環境用途
pip + venv×標準・シンプル
pipenv×○(Pipfile)○ 自動Web 開発
poetry×○(pyproject.toml)○ 自動ライブラリ公開・ロック厳密
pyenv××複数バージョン併用
condaデータサイエンス
uv(新興)○ 高速2024〜流行の Rust 製

1. pip の基本操作

# 最新バージョンに更新(最初にやる)
python -m pip install --upgrade pip

# パッケージインストール
pip install requests
pip install 'django>=4.2,<5.0'      # バージョン指定
pip install -r requirements.txt     # ファイルから一括

# アンインストール
pip uninstall requests

# 一覧
pip list
pip list --outdated                  # 古いもののみ

# 詳細
pip show requests

# 依存ツリー
pip install pipdeptree
pipdeptree

# 依存関係を requirements.txt として書き出し
pip freeze > requirements.txt

# キャッシュ削除
pip cache purge

2. venv で仮想環境

# プロジェクトディレクトリで
cd ~/projects/myapp

# venv 作成
python -m venv venv

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

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

# 有効化(Windows コマンドプロンプト)
venv\Scripts\activate.bat

# 確認: プロンプトに (venv) が付く
(venv) $ which python
/home/user/projects/myapp/venv/bin/python

# 無効化
deactivate

# 削除(プロジェクトと一緒に)
rm -rf venv

.gitignoreに venv は必ず追加:

# .gitignore
venv/
.venv/
__pycache__/
*.pyc
.python-version

3. requirements.txt の運用

# requirements.txt - 直接依存だけ書く(推奨)
Django>=4.2,<5.0
djangorestframework>=3.14
mysqlclient>=2.2.0
gunicorn>=21.0
python-dotenv>=1.0

# 開発用は requirements-dev.txt に分離
# -r requirements.txt
# pytest>=7.0
# black>=23.0
# flake8>=6.0
# 開発環境構築
pip install -r requirements.txt
pip install -r requirements-dev.txt

# 厳密ロックが必要なら pip-tools
pip install pip-tools
pip-compile requirements.in        # requirements.txt 生成
pip-sync                            # ロックに合わせて env を完全一致

4. pipenv

pip install --user pipenv

cd ~/projects/myapp

# プロジェクト初期化(Pipfile 生成)
pipenv install django

# 開発用パッケージ
pipenv install --dev pytest black

# 仮想環境で実行
pipenv run python manage.py runserver

# シェル起動
pipenv shell

# Pipfile.lock からインストール
pipenv install --deploy

# 仮想環境の場所
pipenv --venv

5. poetry(モダン主流)

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

# 新規プロジェクト
poetry new myapp

# 既存ディレクトリで初期化
cd myapp
poetry init

# 依存追加
poetry add django djangorestframework
poetry add --group dev pytest black

# インストール
poetry install

# 仮想環境で実行
poetry run python manage.py runserver

# シェル起動
poetry shell

# ロックファイルから完全再現
poetry install --sync

# 依存更新
poetry update

# パッケージビルド・公開(PyPI)
poetry build
poetry publish

6. conda(データサイエンス向け)

# Miniconda インストール後
conda create -n myenv python=3.11
conda activate myenv

# C 拡張も含めて conda 一発
conda install numpy pandas scipy scikit-learn matplotlib

# conda にないものは pip
pip install some-pypi-only-package

# 環境エクスポート
conda env export > environment.yml
# 再現
conda env create -f environment.yml

7. uv(高速・Rust 製・2024〜)

# インストール
curl -LsSf https://astral.sh/uv/install.sh | sh

# pip 互換コマンド
uv pip install django
uv pip install -r requirements.txt

# venv 作成(python -m venv より 10〜100 倍高速)
uv venv

# Python 本体管理(pyenv 代替)
uv python install 3.12
uv python list

選び方フローチャート

  • とりあえず動かしたい → pip + venv
  • 自分用 Web アプリ → pip + venv + requirements.txt
  • チーム開発 / ロック厳密 → poetry
  • ライブラリを PyPI 公開 → poetry
  • 機械学習・GPU 系 → conda(CUDA バイナリも一括)
  • CI / Docker の高速化 → uv

FAQ

Q: pip install で root 権限がいる
A: グローバルに入れようとしている。必ず venv 内で実行する。OS の Python を汚すと OS パッケージが壊れる。

Q: pip と pip3 どちらを使う?
A: venv 内なら pip。グローバル状態で曖昧なときは python -m pip が一番安全。

Q: requirements.txt と pyproject.toml の関係
A: PEP 621 で pyproject.toml が標準。新規プロジェクトは poetry / uv で pyproject に統一。レガシーは requirements.txt のまま。

編集
Post Share
子ページ
  1. Python3のインストール(CentOS)
  2. pipによるパッケージのインストール
  3. Python3 のインストール (Windows10)
  4. precompile standard library とは
同階層のページ
  1. Python本体・ライブラリのインストール
  2. Anaconda
  3. 統合開発環境の導入
  4. 仮想環境の構築(Mac)
  5. 仮想環境の構築(WIndows)