実践・中級問題チェック
問題 1 /40
仮想環境に関する説明で、誤っているものはどれか。
選択 1
仮想環境を使うと、プロジェクトごとに異なるパッケージ構成を管理できる。
選択 2
「python -m venv ディレクトリ名」で仮想環境を作成する際、ディレクトリ名は省略できる。
選択 3
仮想環境を無効化するdeactivateコマンドは、どのOSでも同じコマンドを使う。
選択 4
仮想環境で実行するPython本体のバージョンは、仮想環境を作成する際に決まる。
解説
選択肢2が正解です。
【選択肢1】
仮想環境を使うと、プロジェクトごとに異なるパッケージ構成を管理できる。
正しい説明です。
仮想環境はプロジェクトごとに独立した環境を作る仕組みです。それぞれのプロジェクトで異なるパッケージやバージョンが使えます。
# プロジェクトA
python -m venv envA
source envA/bin/activate
pip install requests==2.28
# プロジェクトB
python -m venv envB
source envB/bin/activate
pip install requests==2.32
【選択肢2】
「python -m venv ディレクトリ名」で仮想環境を作成する際、ディレクトリ名は省略できる。
誤った説明です。
仮想環境を作成する際、ディレクトリ名(保存先フォルダ)は必須で、省略するとエラーになります。
選択肢1の例文であれば、envAやenvBは省略できません。
【選択肢3】
仮想環境を無効化するdeactivateコマンドは、どのOSでも同じコマンドを使う。
正しい説明です。
どのOSでも、deactivateと入力すると通常のシステム環境に戻ります。
仮想環境に入るアクティベートは、OSによって記述が異なります。
# Mac・Linux
source envA/bin/activate
# Windows PowerShell
.\envA\Scripts\Activate.ps1
# Windows コマンドプロンプト
envA\Scripts\Activate.bat
【選択肢4】
仮想環境で実行するPython本体のバージョンは、仮想環境を作成する際に決まる。
正しい説明です。
venvで作成した仮想環境は、作成時に使用したPython本体の実行ファイルをそのまま使います。
例えば、python3.10とpython3.11がインストールされている環境であれば、次のように仮想環境を作成すると、それぞれの仮想環境でそれぞれのPythonバージョンが使われます。
python3.10 -m venv env310
python3.11 -m venv env311
なお、複数のバージョンのPythonをインストールする際は、pyenvを使います。
pyenvはシステムツールのため、pipでインストールするのではなく、MacならHomebrewでインストールします。
# pyenvのインストール(Mac)
brew install pyenv
# Pythonの各バージョンのインストール
pyenv install 3.10
pyenv install 3.11
pyenv install --list
▶︎
3.10
3.11
バージョンを切り替える場合は、globalで指定します。
pyenv global 3.11
python --version
▶︎
3.11
Pythonのバージョンを3.11に切り替えてから仮想環境を「python -m venv env」で作成すると、その仮想環境は3.11で動きます。
(公式書籍 p.12-14)