Python 入門コース / 第7章 発展(第47〜50回) / レッスン 47

仮想環境と pip・外部ライブラリ

標準ライブラリと外部ライブラリ

jsondatetime のように最初から入っているのが標準ライブラリrequestspandas のように別途インストールが必要なのが外部ライブラリです。外部ライブラリは pip で導入します。

仮想環境を作る理由

何も考えずに pip install すると、パソコン全体に入ります。プロジェクト A はライブラリ v1、B は v2 を使いたい——という状況で必ず衝突します。venvプロジェクトごとに独立した環境を作るのが標準的なやり方です。

ターミナル

$ cd my-project $ python3 -m venv .venv # .venv フォルダに環境を作る # 有効化(macOS / Linux) $ source .venv/bin/activate (.venv) $ python -V # 有効化(Windows) > .venv\Scripts\activate (.venv) $ pip install requests # この環境の中だけに入る (.venv) $ pip list (.venv) $ deactivate # 抜ける

有効化するとプロンプトの先頭に (.venv) が付きます。これが出ていない状態で pip install しない、とだけ覚えておけば事故りません。.venv フォルダは Git にはコミットせず、.gitignore に入れます。

requirements.txt で環境を再現する

使っているライブラリの一覧をファイルに書き出しておけば、別のパソコンや本番サーバーでまったく同じ環境を再現できます。チーム開発では必須です。

ターミナル

(.venv) $ pip freeze > requirements.txt (.venv) $ cat requirements.txt requests==2.32.3 certifi==2024.7.4 # 別の環境で $ python3 -m venv .venv && source .venv/bin/activate (.venv) $ pip install -r requirements.txt

requests を使ってみる

import requests res = requests.get("https://api.github.com/repos/python/cpython") print(res.status_code) data = res.json() # JSON を辞書として受け取る(第37回) print(data["full_name"], data["stargazers_count"])

※ ブラウザ内の実行環境では外部ライブラリのインストールと通信ができないため、この回は手元で試してください。res.json() が返すのはただの辞書です。第 21 回・第 37 回でやったことがそのまま使えます。

✅ 理解度チェック

仮想環境(venv)を使う主な理由は?