ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
pip とは
pip は Python 標準のパッケージインストーラーです。PyPI(Python Package Index)から .whl / .tar.gz を取得し、Python の site-packages に展開します。Python 3.4 以降は標準同梱(python -m pip)。
基本のインストール
# 最新版を入れる
pip install requests
# バージョン指定
pip install requests==2.31.0 # 厳密
pip install "requests>=2.28" # 以上
pip install "requests~=2.31.0" # 互換(2.31.x 系の最新、2.32 は入らない)
pip install "requests<3" # 3 未満
# 複数パッケージ
pip install requests pandas numpy
# アップグレード
pip install --upgrade requests
pip install -U requests
# 特定の Python に対して
python3.11 -m pip install requests
# ユーザディレクトリにインストール(仮想環境外)
pip install --user requests
# → ~/.local/lib/python3.11/site-packages/ に入る
仮想環境(venv)と組み合わせる
システムの Python に直接入れると、プロジェクト間でバージョン衝突します。仮想環境を必ず作りましょう:
# プロジェクトディレクトリで仮想環境作成
python -m venv .venv
# 有効化(Linux/Mac)
source .venv/bin/activate
# 有効化(Windows PowerShell)
.venv\Scripts\Activate.ps1
# プロンプトに (.venv) と表示される
(.venv) $ pip install requests
# 仮想環境から抜ける
deactivate
# .venv をリポジトリにコミットしない(.gitignore に追加)
echo ".venv/" >> .gitignore
requirements.txt 運用
# 1. 現在の環境のパッケージとバージョンを書き出し
pip freeze > requirements.txt
# 中身の例:
# requests==2.31.0
# urllib3==2.0.7
# certifi==2023.7.22
# 2. 別の環境で復元
pip install -r requirements.txt
# 3. アップグレード可能な範囲で指定したい場合は
# 手書きで >= / ~= を使う
# requirements.in:
# requests>=2.28
# pandas~=2.0
# → pip-tools の pip-compile で requirements.txt 生成
requirements の分割
requirements/
base.txt # アプリ実行に必要
dev.txt # 開発用(pytest, black ...) -r base.txt を先頭に
prod.txt # 本番用(gunicorn ...) -r base.txt を先頭に
# base.txt
django>=4.2,<5.0
psycopg2-binary
# dev.txt
-r base.txt
pytest
pytest-django
black
flake8
# 利用
pip install -r requirements/dev.txt
主なフラグ
| フラグ | 意味 |
|---|---|
--upgrade / -U | 既存をアップグレード |
--user | ユーザディレクトリにインストール |
--no-deps | 依存パッケージを入れない |
--editable / -e | ローカルパッケージを開発インストール(symlink) |
--target /path | 指定ディレクトリに展開 |
--index-url URL | プライベートリポジトリ指定 |
--extra-index-url URL | 追加のリポジトリ |
--no-cache-dir | キャッシュを使わない |
--pre | プレリリース版を含める |
--dry-run | 実行せず何が起きるか表示 |
確認系コマンド
# インストール済一覧
pip list
pip list --outdated # アップグレード可能を表示
pip list --user
pip list --format=json
# 特定パッケージの詳細
pip show requests
# Name: requests
# Version: 2.31.0
# Location: .../site-packages
# Requires: charset-normalizer, idna, urllib3, certifi
# Required-by: ...
# 依存ツリー(要 pipdeptree)
pip install pipdeptree
pipdeptree
pipdeptree -p requests
# 何が壊れているか
pip check
アンインストール
# 1 個ずつ
pip uninstall requests
pip uninstall -y requests # 確認スキップ
# requirements に書かれたものを一括削除
pip uninstall -r requirements.txt -y
# 全部消す(仮想環境を再構築する場合)
pip freeze | xargs pip uninstall -y
editable インストール(-e)
自作パッケージを開発中、ソース変更を逐次反映したい場合:
# プロジェクトディレクトリで
pip install -e .
# Git リポジトリから直接
pip install -e "git+https://github.com/user/repo.git@main#egg=mypkg"
# 開発依存込みで(extras_require)
pip install -e ".[dev]"
Wheel と sdist
PyPI のパッケージは Wheel (.whl) または sdist (.tar.gz) 形式:
| 形式 | 特徴 |
|---|---|
| Wheel (.whl) | ビルド済バイナリ。インストールが速い。OS / Python ABI / アーキ別 |
| sdist (.tar.gz) | ソース配布。setup.py / pyproject.toml でビルドしてからインストール |
Wheel が無い OS / Python では sdist が落ちてきて、C コンパイラなどが必要になります(例: psycopg2 はソースビルドで libpq-dev 必須)。PEP 517 / 518 準拠のパッケージは pyproject.toml で build-system.requires を宣言、pip が分離環境で自動ビルドします。
キャッシュ管理
# キャッシュ場所
pip cache dir
# ~/.cache/pip (Linux)/ ~/Library/Caches/pip (Mac)
# サイズ確認
pip cache info
# 削除
pip cache purge
# キャッシュ無視
pip install --no-cache-dir requests
pip vs pipx vs poetry vs uv
| ツール | 用途 | 特徴 |
|---|---|---|
| pip | パッケージ追加 / 削除 | 標準。requirements.txt 運用 |
| pipx | CLI ツールを隔離インストール | black / poetry 等を入れる |
| poetry | 依存管理 + パッケージ公開 | pyproject.toml + poetry.lock |
| uv | pip / venv / pip-tools 統合の高速版 | Rust 実装で 10〜100 倍速。2025 年以降の事実上標準 |
uv の例
# 導入
curl -LsSf https://astral.sh/uv/install.sh | sh
# 仮想環境 + パッケージ追加
uv venv .venv
source .venv/bin/activate
uv pip install requests
# プロジェクト管理
uv init myproject
cd myproject
uv add requests pandas
uv sync # uv.lock に従って復元
uv run app.py
トラブルシューティング
| 症状 | 対処 |
|---|---|
| SSL 証明書エラー | OS の CA 更新 / --trusted-host pypi.org(非推奨) |
| Could not find a version | Python バージョン互換性 / プレリリースは --pre |
| building wheel for X failed | OS 開発パッケージ(gcc, libpq-dev)追加 |
| ModuleNotFoundError 後でも | venv をアクティブにしているか / which python 確認 |
| pip 自体が古い | python -m pip install --upgrade pip |
FAQ
Q: sudo pip install するな、と言われる
A: システム Python が壊れる原因に。pip install --user か仮想環境を使う。Debian/Ubuntu の Python 3.11+ は externally-managed-environment でブロックされる。
Q: requirements.txt と pyproject.toml どちら?
A: 既存プロジェクトはそのままで OK。新規なら pyproject.toml + uv or poetry を推奨。requirements.txt は CI / Docker のシンプルな復元用に残すケースも多い。
Q: ロックファイルが必要?
A: 本番再現性のために必須。pip freeze、poetry.lock、uv.lock、pip-tools の requirements.txt(pinned)など。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Python3 のインストール
- pipによるパッケージのインストール
- Python3 のインストール (Windows10)
- precompile standard library とは
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?