実践・上級問題チェック
問題 1 /40
pipとvenvの記述で、誤っているものはどれか。
実行環境はUNIX系OSとする。
選択 1
pip freeze > requirement.txt
選択 2
pip install -r requirement.txt
選択 3
pip install -c constrains.txt
解説
選択肢3が正解です。
【選択肢1】
pip freeze > requirement.txt
実行環境にインストールされているパッケージを、テキストファイルにリストアップする際の記述です。パッケージ名とバージョンを合わせてリストアップできます。
requirement.txtの例
-------------------------------
psycopg2-binary==2.9.1
SQLAlchemy==1.4.20
-------------------------------
【選択肢2】
pip install -r requirement.txt
選択肢1で作成したファイルを利用して、実行環境にパッケージをインストールする際の記述です。リストアップしたパッケージを、指定のバージョンで一括でインストールできます。
【選択肢3】
pip install -c constrains.txt
-rオプションを利用してパッケージをインストールする際に、-cオプションを使うとパッケージのバージョンに制限をかけることができます。
requirement.txtにはバージョンを記載せず、constrains.txtにバージョンを記載することで制限します。
-cオプションは「pip install -r requirement.txt -c constrains.txt」のように、-rオプションと合わせて使います。
選択肢3のように-cオプションを単独で使うとエラーになります。
なお、requirement.txtとconstrains.txtのファイル名は、他のファイル名でも問題ありません。重要なのは-rオプションと-cオプションです。
【選択肢4】
python -m venv env
仮想環境を作成する際の記述です。
-mオプションはモジュールを実行する際のオプションで、この場合は「venv」モジュールを実行して、ディレクトリ名「env」の仮想環境を作成しています。
(公式書籍 p.5-7)