[Pythonのはじめ方] Part25: パッケージ管理(pip, requirements.txt)

Python

はじめに

Pythonの魅力の一つは、豊富な「パッケージ」(ライブラリとも呼ばれます)を使えることです。数値計算、データ分析、Web開発など、様々な目的のパッケージが存在し、これらを活用することで複雑な処理も簡単に実装できます。

これらのパッケージを管理するためのツールが pip です。pipを使うことで、パッケージのインストール、更新、削除などを簡単に行えます。

また、プロジェクトで使用しているパッケージとそのバージョンを記録し、他の環境でも同じ構成を再現するために requirements.txt というファイルがよく使われます。これにより、チーム開発やデプロイ(本番環境への反映)がスムーズになります。

このステップでは、pipの基本的な使い方と、requirements.txtを使ったパッケージ管理方法を学びましょう!

pipの基本的な使い方 ⚙️

pipは通常、Python 3.4以降(Python 2では2.7.9以降)をインストールすると自動的にインストールされます。まずは基本的なコマンドを見ていきましょう。

コマンドは、お使いのターミナル(WindowsならコマンドプロンプトやPowerShell、macOSならターミナル)で実行します。

まず、pipがインストールされているか、バージョンを確認してみましょう。

pip --version

バージョン情報が表示されればOKです。

新しいパッケージをインストールするには、pip install コマンドを使います。例えば、Webリクエストを簡単に扱える requests パッケージをインストールしてみましょう。

pip install requests

これで、PyPI (Python Package Index) というリポジトリからrequestsパッケージがダウンロードされ、インストールされます。

現在インストールされているパッケージの一覧を確認するには、pip list コマンドを使います。

pip list

インストールしたrequestsや、それに依存する他のパッケージも表示されるはずです。

不要になったパッケージをアンインストールするには、pip uninstall コマンドを使います。

pip uninstall requests

確認メッセージが表示されるので、y を入力してEnterキーを押すとアンインストールが完了します。

インストール済みのパッケージを最新バージョンに更新するには、--upgrade オプションを使います。

pip install --upgrade requests

もし最新版がインストール済みであれば、その旨が表示されます。

特定のバージョンのパッケージをインストールしたい場合は、== に続けてバージョン番号を指定します。

pip install requests==2.31.0

これは、特定のバージョンでしか動作しないプログラムを実行する場合や、後述するrequirements.txtで環境を厳密に管理する際に重要になります。

pip自体も時々アップデートされます。以下のコマンドで最新版に保つことができます。

python -m pip install --upgrade pip

注意: Windows環境では、コマンドの先頭に py -m を付けて py -m pip install ... のように実行する必要がある場合があります。

requirements.txtによる環境管理 📝

Pythonプロジェクトを進めていると、多くの外部パッケージに依存することがあります。他の開発者と共同作業したり、作成したアプリケーションをサーバーで動かしたりする際には、全員が同じバージョンのパッケージを使っていることが重要です。バージョンが異なると、予期せぬエラーが発生する可能性があります。

そこで登場するのが requirements.txt ファイルです。このファイルには、プロジェクトで使っているパッケージの名前とバージョンの一覧を記述します。これにより、他の環境でも簡単に同じ開発環境を再現できるようになります。

現在の環境にインストールされているパッケージとそのバージョンをrequirements.txtファイルに出力するには、pip freeze コマンドを使います。

pip freeze > requirements.txt

このコマンドを実行すると、プロジェクトのフォルダ(カレントディレクトリ)にrequirements.txtというファイルが作成されます。中身は以下のようになっています(例):

certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.7
requests==2.31.0
urllib3==2.2.1

このように、パッケージ名==バージョン という形式でリストアップされます。このファイルをGitなどのバージョン管理システムに含めることで、チームメンバーや将来の自分が環境を再現する際に役立ちます。

requirements.txtファイルがあれば、そこに記載されたパッケージをまとめてインストールできます。新しい環境でプロジェクトを開始したり、他の開発者の環境を再現したりする際に非常に便利です。

インストールするには、-r オプション(rはrequirementの略)を使います。

pip install -r requirements.txt

このコマンドを実行すると、pipはrequirements.txtを読み込み、リストされている全てのパッケージを指定されたバージョンでインストールします。

💡 ベストプラクティス

  • 仮想環境と組み合わせる: プロジェクトごとに仮想環境(例: venv)を作成し、その環境内でパッケージを管理するのが一般的です。これにより、プロジェクト間でパッケージのバージョンが衝突するのを防げます。
  • 定期的に更新する: pip freeze > requirements.txt を定期的に実行し、requirements.txtを最新の状態に保ちましょう。
  • バージョンを固定する: 開発中は最新版を使っても良いですが、リリースや共有の際には==でバージョンを固定することで、環境による動作の違いを防ぎます。

まとめ

今回は、Pythonのパッケージ管理ツールであるpipの基本的な使い方と、プロジェクトの依存関係を管理するためのrequirements.txtについて学びました。

  • pip install: パッケージのインストール ✅
  • pip list: インストール済みパッケージの確認 ✅
  • pip uninstall: パッケージのアンインストール ✅
  • pip install –upgrade: パッケージの更新 ✅
  • pip freeze > requirements.txt: 環境のパッケージ情報をファイルに出力 ✅
  • pip install -r requirements.txt: ファイルからパッケージを一括インストール ✅

pipとrequirements.txtを使いこなすことで、Python開発がより効率的かつスムーズになります。特にチーム開発やアプリケーションのデプロイにおいては必須の知識です。ぜひ、実際のプロジェクトで活用してみてください!

参考情報

コメント

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