1章「Pythonの環境」の対策ポイントと例題
1章「Pythonの環境」からは本番40問中1問が出ます。仮想環境(venv)とパッケージ管理(pip)の基本操作を、コマンドの形で正確に覚えているかを問う章です。
- venv
- pip
- requirements.txt
- python -m
- PYTHONPATH
- sys.path
この章の出題数と位置づけ
1章「Pythonの環境」からは本番40問のうち1問が出題されます。 全体に占める割合は2.5%で、15章中14番目タイの出題数です(同じ1問の章が他に1章あります)。 合格に必要なのは28問正解(12問まで不正解可)なので、 この章の1問をどこまで取りに行くかは、他の章との兼ね合いで決めるのが現実的です。
対策のポイント
- venv の作成・有効化・無効化と、仮想環境が sys.path をどう変えるかを押さえます。
- pip freeze と pip list の違いは頻出です。再現用のファイルを作れるのは pip freeze の出力形式だけです。
- pip install -r requirements.txt が「読み込む」側、pip freeze > requirements.txt が「書き出す」側という向きを取り違えないことです。
- 1問しか出ないので深追いは不要です。コマンドの綴りとオプションだけ確実にします。
この章の例題(3問)
当サイトで実際に出題している問題から3問を、正解と解説つきで掲載します。 すべて自作のオリジナル問題で、実際の試験問題ではありません。
例題1. 仮想環境を有効化した状態で、いま入っているパッケージを他の環境で再現できる形式のファイルに書き出したい。正しいコマンドはどれか。
- 正解pip freeze > requirements.txt
- pip list > requirements.txt
- pip install -r requirements.txt
- python -m venv requirements.txt
解説: pip freeze はパッケージ名==バージョン形式で出力するので、そのままファイルに残せば同じ環境を再現できる。pip list は人間が読む表形式なので復元には使えない。
例題2. 標準ライブラリだけで仮想環境を作るコマンドはどれか。
- 正解python -m venv .venv
- python -m ensurepip .venv
- python -m site .venv
- python -m pip .venv
解説: 仮想環境の作成は venv モジュール。ensurepip は既存の環境に pip を入れ直すもの、site は起動時に site-packages を sys.path へ組み込むためのもの、pip はパッケージ管理で、どれも環境そのものは作らない。作られた .venv には独立した site-packages が用意され、そこにインストールされる。
例題3. 有効化した仮想環境から抜けるための操作はどれか。
- 正解deactivate
- source deactivate
- unset VIRTUAL_ENV
- exit
解説: activate を読み込んだ時点でシェルに deactivate という関数が定義されるので、そのまま実行すればよい。activate 自体は現在のシェルに設定を反映させる必要があるため source で読み込むが、deactivate は関数なので source は不要。unset VIRTUAL_ENV は環境変数を消すだけで PATH が元に戻らず、中途半端な状態になる。exit はシェルそのものを終了してしまう。
この章は当サイトに全7問を収録しています。残りはドリルの「章別に解く」から解けます。