Python | Web / API:pip install

Python Python
スポンサーリンク

概要(pip installは「必要なライブラリを安全に取り込む」ための入口)

pipはPythonのパッケージ管理ツール。pip installで外部ライブラリを追加し、アップグレードやアンインストール、依存の固定化(requirements.txt)まで担います。重要なのは、仮想環境内で使うこと、正しいバージョン指定、インストール確認とトラブル対処の型、そして再現性(同じ環境を誰でも作れる)です。


基本の使い方(最短のインストールから確認まで)

インストールとバージョン指定の基本

  • 最新を入れる: pip install requests
  • 特定バージョン固定: pip install requests==2.31.0
  • 互換範囲を許容: pip install “requests>=2.31,<2.33”
  • アップグレード: pip install –upgrade requests
  • アンインストール: pip uninstall requests

インストール後はPythonで import に成功するか、pip show パッケージ名 でインストール先・バージョンを確認します。

仮想環境での実行(推奨)

仮想環境を有効化してからpipを使うと、プロジェクトごとに依存が分離されます。python -m venv venv → 有効化 → pip install … の順番が安全です。


バージョン指定の深掘り(壊さずに更新する設計)

代表的な指定方法と使い分け

  • ==(完全一致): 再現性最重視。本番やCIで堅く固定。
  • ~=(互換): 同じマイナー内で更新を許容。例: pydantic~=2.9
  • >=,<(範囲): 安全余地を取りつつ脆弱性修正を取り込みやすい。
  • なし(最新): 試験的に触るときのみ。運用では推奨しない。

複数の依存が同じサブ依存へ異なる要求を出す「競合」があり得ます。競合時は範囲指定を調整して両立可能な組合せへ寄せます。


requirements.txt(再現性の核)

固定化と再現(作る→配る→復元)

  • 現環境を書き出し: pip freeze > requirements.txt
  • 復元(別環境で): pip install -r requirements.txt

pip freezeは「今入っているもの全部」を出すため、試しに入れた不要ライブラリが紛れやすいです。最小構成にしたい場合は、実際に使うものだけを手書きで管理するのも有効です。

環境別の分割

  • requirements.txt: アプリ本体の依存
  • requirements-dev.txt: 開発補助(pytest, black など)
  • requirements-prod.txt: 本番向けにピン止めした固いセット

よくあるトラブルと対処(最短で詰まりを解く)

コマンドが見つからない・間違ったpipを使っている

  • 症状: pip: command not found、またはグローバル環境へ入ってしまう。
  • 対処: 仮想環境を有効化してから pip を使用。python -m pip … と明示すると、今のPythonに紐づくpipが確実に呼ばれます。

権限エラー・書き込み不可

  • 症状: Permission denied。
  • 対処: 仮想環境内で実行する、または –user を使う(ただし仮想環境が基本)。管理者権限に頼らないのが安全です。

SSLやネットワークエラー

  • 症状: TLS/証明書関連、タイムアウト。
  • 対処: ネットワーク到達性と証明書ストアを確認。タイムアウトは –timeout の明示、後で再試行。

ビルドに失敗(C拡張が必要)

  • 症状: numpy, lxmlなどでコンパイルエラー。
  • 対処: 事前ビルド済みホイールがあるPython/OSの組合せを選ぶ、または必要な開発ツール・ヘッダを導入。

実用例(Web/APIプロジェクトでの型)

例題1:仮想環境で最小セットを導入・確認

# 仮想環境
python -m venv venv
source venv/bin/activate  # Windowsは venv\Scripts\Activate.ps1

# 依存導入
python -m pip install requests python-dotenv

# 動作確認(今のPythonとライブラリバージョン)
python - <<'PY'
import sys, requests, dotenv
print("Python:", sys.executable)
print("requests:", requests.__version__)
print("python-dotenv:", dotenv.__version__)
PY

例題2:バージョンを安全な範囲で指定して運用

python -m pip install "httpx>=0.27,<0.28" "pydantic~=2.9"

定期的にテストを回してから、pip freeze > requirements.txt で固定化します。

例題3:requirements.txtからの一括復元

# 開発環境
python -m venv venv && source venv/bin/activate
python -m pip install -r requirements.txt

この一行で、チームメンバーやCIが同じ環境を瞬時に再現できます。


ベストプラクティス(事故を減らし、再現性を高める)

仮想環境“先に”有効化

pip installは必ず有効化後に。プロンプトの先頭に(venv)が出ているか確認します。

python -m pipを癖にする

複数Pythonが入っている環境でも“今のPythonのpip”が確実に呼ばれ、取り違え事故を防げます。

バージョン方針を決める

本番はピン止め(==)で定期更新、開発は範囲指定で脆弱性修正を取り込みやすく。ライブラリの重要度に応じて厳しさを変えます。

変更は新しい環境で検証

アップグレードは新規venvで試し、テスト合格後にrequirements.txtを更新。差分をレビューして、何が上がったか可視化します。


まとめ

pip installは、Pythonの力を広げる入口。仮想環境内で使い、バージョン指定を設計し、requirements.txtで再現性を担保するのが基本線です。トラブルは「正しいpipの呼び方」「権限・ネットワーク・ビルド」の型で最短解決。この型を体に入れれば、初心者でも短い手順で「壊れない・再現できる・運用しやすい」依存管理が実現できます。

タイトルとURLをコピーしました