ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
標準ライブラリとの違い
| 標準ライブラリ | 外部ライブラリ | |
|---|---|---|
| 入手 | Python 本体に同梱 | pip install が必要 |
| 例 | os json datetime math re | requests numpy pandas Django |
| バージョン | Python のバージョンに従う | 個別に上がる。固定が必要 |
| 配布時 | 何もしなくてよい | 相手にも入れてもらう必要がある |
標準ライブラリでできることは標準ライブラリで済ませるのが原則です。依存が増えるほど、環境構築の手間と壊れる箇所が増えます。標準側の一覧は 標準ライブラリ を参照してください。
導入の手順
# 1. プロジェクト用の仮想環境を作る
python -m venv .venv
# 2. 有効化(Windows)
.venv\Scripts\activate
# 有効化(Mac / Linux)
source .venv/bin/activate
# 3. インストール
pip install requests
# 4. 確認
pip show requests
python -c "import requests; print(requests.__version__)"
仮想環境を有効にすると、プロンプトの先頭に (.venv) が付きます。これが付いていない状態で pip install するとシステム全体に入ります。作り方の詳細は 仮想環境の構築 を参照してください。
インストール名と import 名は別物
| pip install | import |
|---|---|
pip install scikit-learn | import sklearn |
pip install beautifulsoup4 | from bs4 import BeautifulSoup |
pip install pillow | from PIL import Image |
pip install opencv-python | import cv2 |
pip install pyyaml | import yaml |
pip install python-dateutil | import dateutil |
pip install Django | import django |
ModuleNotFoundError が出たとき、入れたつもりの名前で import していないのがよくある原因です。逆に「入れたのに import できない」場合は、別の Python に入っている可能性を疑います。
# どの python / pip を使っているか確認する
python -c "import sys; print(sys.executable)"
pip -V
# 実行中の python に確実に入れる書き方
python -m pip install requests
バージョンを固定する
pip install "requests==2.32.3" # このバージョンだけ
pip install "requests>=2.31,<3" # 2.31 以上 3 未満
# 今入っているものを書き出す
pip freeze > requirements.txt
# 別のマシンで同じ状態を作る
pip install -r requirements.txt
requirements.txt の中身は次のような形です。
requests==2.32.3
numpy==2.1.1
pandas==2.2.3
バージョンを書かないと、後日インストールしたときに別のバージョンが入って動かなくなります。「自分の環境では動くのに」の大半はこれが原因です。
更新・削除・一覧
pip list # 入っているもの一覧
pip list --outdated # 新しいバージョンがあるもの
pip install -U requests # 更新
pip uninstall requests # 削除
pip show -f requests # 依存関係と入っているファイル
pip check # 依存関係の矛盾を検出
pip uninstall はそのパッケージだけを消し、一緒に入った依存パッケージは残ります。環境を作り直したいときは仮想環境のフォルダごと削除するのが確実です。
ライブラリの選び方
- 最終更新日 — 数年更新されていないものは、新しい Python で動かない可能性がある
- 対応バージョン — PyPI のページに
Requires: Python >=3.9のように書いてある - ライセンス — 業務利用なら MIT / BSD / Apache-2.0 かを確認する。GPL 系は配布条件に注意
- 依存の数 — 依存が多いライブラリは衝突の原因になりやすい
- 名前が正しいか — 有名パッケージに似せた偽物が PyPI に登録されることがある。公式ドキュメントに書かれたコマンドをコピーする
よく使われるライブラリ
| 用途 | ライブラリ |
|---|---|
| 数値計算・配列 | NumPy |
| グラフ描画 | Matplotlib |
| 表形式データ | pandas |
| HTTP 通信 | requests(httpリクエスト(curl)をする方法) |
| HTML 解析 | beautifulsoup4(Webスクレイピング) |
| Excel の読み書き | openpyxl |
| Web アプリ | Django / Flask / FastAPI |
インストールでつまずいたとき
| 症状 | 原因と対処 |
|---|---|
ModuleNotFoundError | import 名が違う / 別の Python に入った → python -m pip install |
Permission denied | システム領域に入れようとしている → 仮想環境を作る |
error: Microsoft Visual C++ 14.0 is required | ソースからのビルドが要求されている → 対応する wheel があるバージョンを選ぶ |
| TLS/SSL のエラー | pip is configured with locations that require TLS/SSL |
| 依存の衝突 | 仮想環境をプロジェクトごとに分ける |
pyproject.toml で管理する
近年は requirements.txt の代わりに pyproject.toml にまとめる方式が主流になっています。開発用の依存とアプリ本体の依存を分けて書けるのが利点です。
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"requests>=2.32,<3",
"pandas>=2.2",
]
[project.optional-dependencies]
dev = ["pytest", "ruff", "mypy"]
pip install -e . # 本体の依存だけ
pip install -e ".[dev]" # 開発ツールも含めて
| ツール | 特徴 |
|---|---|
pip + venv | 標準搭載。追加インストール不要で、どこでも通じる |
poetry | 依存解決とロックファイル。ライブラリの公開まで一貫して扱える |
uv | 非常に高速。pip 互換のコマンドを持つ |
conda | Python 以外のバイナリも管理できる。科学計算で強い(Anaconda) |
どれを使うにしても、1 つのプロジェクトで 1 つの方式に統一するのが重要です。pip と conda を混ぜると、どちらが入れたのか分からない壊れ方をします。
ネットにつながらない環境へ持ち込む
# つながる環境で、必要なファイルを丸ごと落とす
pip download -r requirements.txt -d ./wheels
# 落としたフォルダごと持ち込み、そこからインストールする
pip install --no-index --find-links=./wheels -r requirements.txt
OS や Python のバージョンが違うと使えないファイルが混ざります。ダウンロードする側と入れる側で、OS・CPU・Python のバージョンを揃えてください。
依存を最新に保つ
pip list --outdated # 更新があるものを確認
pip install -U requests # 個別に更新
pip install pip-audit
pip-audit # 既知の脆弱性を持つバージョンを検出
バージョンを固定したまま放置すると、脆弱性のあるバージョンを使い続けることになります。固定は「勝手に変わらないため」であって「更新しないため」ではありません。定期的に確認して、テストを通してから上げてください。
関連
- 文法 — 親カテゴリ
- pipによるパッケージのインストール
- 仮想環境の構築
- モジュール — import の仕組み
- 標準ライブラリ
- ライブラリ
- ModuleNotFoundError: No module named
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?