基礎・中級問題チェック

問題 40 /40

パッケージのリスト「requirements.txt」を作る際に使うコマンドはどれか。

選択 1

pip list

選択 2

pip freeze

選択 3

pip export

選択 4

pip show

解説

選択肢2が正解です。

「pip list」はパッケージの一覧をコンソールに表示しますが、人が見やすい形式で出力するだけであり、そのままrequirements.txtとしては使えません。

「pip list」の表示例
-------------------------------
psycopg2-binary   2.9.1
SQLAlchemy        1.4.20
-------------------------------

「pip freeze」は、インストールされているパッケージをrequirements.txt形式(パッケージ名==バージョン)で出力するコマンドです。

「pip freeze」の表示例
-------------------------------
psycopg2-binary==2.9.1
SQLAlchemy==1.4.20
-------------------------------

requirements.txtに保存する場合は、「pip freeze > requirements.txt」を実行します。

仮想環境をアクティベートした状態で実行すると、その仮想環境のパッケージ一覧がカレントディレクトリにrequirements.txtとして保存されます。

次の構成は、仮想環境myenvをアクティベートし、カレントディレクトリがmy_projectになっている状態で、「pip freeze > requirements.txt」を実行した例です。

my_project/  ← カレントディレクトリ
│
├─ myenv/  ← 仮想環境のフォルダ
└─ requirements.txt

このrequirements.txtを使うと、指定されているバージョンで一括インストールできます。

例えば、開発環境でrequirements.txtを出力し、本番環境で上記の場所に保存して、「pip install -r requirements.txt」を実行して一括インストールします。


(公式書籍 p.140-141)