データ分析・上級問題チェック
問題 3 /40
Pythonのpipに関する説明で、正しいものはどれか。
選択 1
パッケージのリストをテキストファイルに出力する場合は、「pip list > requirements.txt」と記述する。
選択 2
パッケージをアップグレードする場合は、「pip --upgrade パッケージ名」の記述しか使えない。
選択 3
uninstallコマンドは、依存関係にあるパッケージもアンインストールされる。
選択 4
バージョンを指定してインストールする場合は、「pip install パッケージ名==バージョン」と記述する。
解説
選択肢4が正解です。
【選択肢1】
パッケージのリストをテキストファイルに出力する場合は、「pip list > requirements.txt」と記述する。
誤った説明です。
「pip freeze > requirements.txt」が正しい記述です。
listとfreezeは、実行環境にインストールされたすべてのパッケージ(ライブラリ)を表示します。
「pip list」の実行例
-------------------------------
psycopg2-binary 2.9.1
SQLAlchemy 1.4.20
-------------------------------
freezeは、「pip freeze > requirements.txt」とすると、pip install向けの形式で出力できます。
requirements.txtの例
-------------------------------
psycopg2-binary==2.9.1
SQLAlchemy==1.4.20
-------------------------------
このテキストファイルを利用して「pip install -r requirements.txt」とすると、複数のパッケージを指定のバージョンで一括インストールできます。
なお、「requirements.txt」のファイル名は、別の名称でも問題ありません。
【選択肢2】
パッケージをアップグレードする場合は、「pip --upgrade パッケージ名」の記述しか使えない。
誤った説明です。
アップグレードする際の記述は、「pip install --upgrade パッケージ名」だけではなく、「pip install -U パッケージ名」も使えます。
【選択肢3】
uninstallコマンドは、依存関係にあるパッケージもアンインストールされる。
誤った説明です。
uninstallコマンドは、依存関係にあるパッケージはアンインストールしません。
例えばpandasをインストールすると、依存関係にあるpython-dateutil、pytz、sixも合わせてインストールされますが、「pip uninstall pandas」でアンインストールした場合、pandas以外のパッケージは残ります。
【選択肢4】
バージョンを指定してインストールする場合は、「pip install パッケージ名==バージョン」と記述する。
正しい説明です。
なお、この記述で低いバージョンを指定してダウングレードすることもできます。
(公式書籍 p.20-24)