基礎から学ぶPython入門 90日コース | 実践Python - Day 22:仮想環境

90日で身につけるPython
スポンサーリンク
スポンサーリンク

Day 22:仮想環境で「安全にPythonを育てる」感覚を身につける

Day 22では、Python開発でとても重要な「仮想環境」について学びます。 pip・パッケージ・venv・仮想環境・requirements.txt を通して、 「プロジェクトごとに環境を分ける」「依存関係をきれいに管理する」感覚を身につけていきます。

パッケージとpip:Pythonの「追加機能」をインストールする仕組み

パッケージとは何か

Python本体だけでも多くのことができますが、 「Web開発」「データ分析」「機械学習」などを行うときには、 外部のライブラリ(=パッケージ)をインストールして使うことが一般的です。

  • パッケージ:Pythonで使える「追加機能のまとまり」
    • 例:requests(HTTP通信)、numpy(数値計算)、pandas(データ分析)など

これらをインストールするための標準的なツールが pip です。

pipの基本的な使い方

ターミナル(またはコマンドプロンプト)で次のように入力します。

bash

pip install requests

これで、requests というパッケージがインストールされます。 Pythonコードからは次のように使います。

import requests  # インストールしたパッケージを読み込みます

response = requests.get("https://example.com")
print(response.status_code)
Python

ここでの重要ポイントは、

  • pip は「Pythonパッケージをインストールするための標準ツール」であること
  • インストールしたパッケージは import パッケージ名 で使えるようになること

です。

なぜ仮想環境が必要なのか:環境が「ぐちゃぐちゃ」になるのを防ぐ

よくあるトラブルのイメージ

仮想環境を使わないと、次のようなトラブルが起きやすくなります。

  • プロジェクトAでは requests==2.31.0 を使っている
  • プロジェクトBでは requests==2.25.0 を使っている
  • どちらも同じPCにインストールしていると、バージョンが上書きされてしまう

結果として、

  • 片方のプロジェクトが動かなくなる
  • 「どのプロジェクトがどのバージョンを使っているか」が分からなくなる

という状態になりがちです。

仮想環境の役割

そこで登場するのが 仮想環境(virtual environment) です。

  • プロジェクトごとに「独立したPython環境」を作る
  • それぞれの環境に、必要なパッケージだけをインストールする
  • 他のプロジェクトの環境とは干渉しない

という仕組みです。

イメージとしては、

  • 「プロジェクトごとに専用のPythonフォルダを持つ」
  • 「その中にだけパッケージを入れる」

という感じです。

venvで仮想環境を作る:標準機能で始める

仮想環境を作成する基本コマンド

Pythonには、仮想環境を作るための標準モジュール venv が用意されています。 ターミナルで次のように入力します。

bash

python -m venv venv

このコマンドの意味は、

  • python -m venv:Pythonに「venvモジュールを使って仮想環境を作って」と指示している
  • venv:作成する仮想環境のフォルダ名(慣例的によくこの名前が使われます)

実行すると、カレントディレクトリに venv というフォルダが作られます。 このフォルダの中に、「その仮想環境専用のPython」と「専用のパッケージ置き場」が作られます。

仮想環境を「有効化」する

作っただけでは仮想環境は使われません。 「このターミナルでは仮想環境を使う」と宣言するために、有効化(activate) を行います。

Windowsの場合(PowerShellの例)

bash

venv\Scripts\Activate.ps1

macOS / Linuxの場合

bash

source venv/bin/activate

有効化に成功すると、ターミナルのプロンプトに (venv) のような表示が付きます。

bash

(venv) $

この状態で pip install をすると、「この仮想環境の中」にパッケージがインストールされます。

仮想環境内でpipを使う:プロジェクト専用のパッケージ管理

仮想環境内でのインストール

仮想環境を有効化した状態で、次のようにパッケージをインストールします。

bash

(venv) pip install requests
(venv) pip install numpy

これで、

  • グローバルなPython環境には影響を与えず
  • venv 仮想環境の中だけに requestsnumpy がインストールされます

Pythonコードからは、いつも通り import して使えます。

# main.py

import requests
import numpy as np

def main():
    response = requests.get("https://example.com")
    print("ステータスコード:", response.status_code)

    arr = np.array([1, 2, 3])
    print("配列:", arr)


if __name__ == "__main__":
    main()
Python

仮想環境を「抜ける」

仮想環境の利用を終えたいときは、次のコマンドで「無効化」します。

bash

(venv) deactivate

これで、ターミナルは元の環境に戻ります。

requirements.txt:環境を「再現可能」にする

なぜrequirements.txtが必要なのか

プロジェクトを他の人に渡したり、別のPCに移したりするときに、

  • 「どのパッケージを、どのバージョンでインストールすればよいか」

を伝える必要があります。 そのための「一覧表」として使われるのが requirements.txt です。

requirements.txtを作る

仮想環境内で、現在インストールされているパッケージ一覧をファイルに書き出します。

bash

(venv) pip freeze > requirements.txt

これで、カレントディレクトリに requirements.txt が作られます。 中身は次のような形式です。

requests==2.31.0
numpy==1.26.0
pandas==2.2.0
  • パッケージ名
  • ==
  • バージョン番号

という形で、プロジェクトが依存しているパッケージが一覧されています。

requirements.txtから環境を再現する

別のPCや別の仮想環境で、同じ環境を再現したいときは、次のようにします。

bash

(venv) pip install -r requirements.txt

これで、

  • requirements.txt に書かれているパッケージが
  • 指定されたバージョンで
  • 仮想環境内にインストールされます

つまり、「環境をコピーする」ことができます。

仮想環境+requirements.txtの「基本テンプレート」

プロジェクトを始めるときの流れ

  1. プロジェクト用フォルダを作るbashmkdir my_project cd my_project
  2. 仮想環境を作るbashpython -m venv venv
  3. 仮想環境を有効化する
    • Windows:bashvenv\Scripts\Activate.ps1
    • macOS / Linux:bashsource venv/bin/activate
  4. 必要なパッケージをインストールするbash(venv) pip install requests (venv) pip install numpy
  5. コードを書くpython# main.py import requests import numpy as np def main(): response = requests.get("https://example.com") print("ステータスコード:", response.status_code) arr = np.array([1, 2, 3]) print("配列:", arr) if __name__ == "__main__": main()
  6. requirements.txtを作るbash(venv) pip freeze > requirements.txt

別の環境で再現するときの流れ

  1. プロジェクトフォルダをコピー(またはGitでクローン)する
  2. 仮想環境を作るbashpython -m venv venv
  3. 仮想環境を有効化する
  4. requirements.txt からパッケージをインストールするbash(venv) pip install -r requirements.txt
  5. python main.py で実行する

Day 22ミニテンプレート:仮想環境チェック用スクリプト

仮想環境が正しく使えているかを確認するための、簡単なスクリプト例です。

# day22_env_check.py
# 仮想環境とパッケージが正しく動いているか確認するためのスクリプト

import sys

try:
    import requests
except ImportError:
    print("requests がインポートできません。仮想環境内で pip install requests を実行してください。")
    sys.exit(1)


def main():
    print("Python実行ファイル:", sys.executable)
    print("仮想環境が有効になっている場合、そのパスは venv フォルダ配下になっているはずです。")

    response = requests.get("https://example.com")
    print("HTTPステータスコード:", response.status_code)


if __name__ == "__main__":
    main()
Python

このスクリプトを仮想環境内で実行すると、

  • sys.executable のパスが venv フォルダ配下になっているか
  • requests が正しくインポートできているか

を確認できます。

Day 22のまとめ

Day 22では、仮想環境を通して、

  • pip とパッケージの基本的な役割
  • venv で仮想環境を作成・有効化・無効化する流れ
  • プロジェクトごとに環境を分けることで、依存関係の「ぐちゃぐちゃ」を防ぐ考え方
  • requirements.txt で環境を「再現可能」にする方法
  • 仮想環境+requirements.txt を使った、プロジェクト開始〜共有までの基本テンプレート

をステップバイステップで体験していただきました。

ここまで来ると、「Pythonのコードだけでなく、そのコードが動く環境も設計する」という感覚が少し育っているはずです。 この感覚は、今後の実践Python編で、より大きなプロジェクトやチーム開発に進んでいくうえで、とても重要な土台になっていきます。

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