Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。
仮想環境(venv)とは
- 目的: プロジェクトごとに異なるPythonのバージョンやパッケージを独立して管理するための仕組み。
- 利点: システム全体に影響を与えずに、特定のプロジェクトに必要な環境を構築できる。検証用環境として一時的に作成するケースにも利用されます。
venvの使い方
-
仮想環境の作成
python3.x -m venv <任意のディレクトリ名>
例:
$ python3.11 -m venv myenv
作成された仮想環境用ディレクトリに、仮想環境に必要なリソースが配置される。 -
仮想環境の有効化
- Unix系(bash/zsh):
source <venv>/bin/activate
- Windows(コマンドプロンプト):
<venv>\Scripts\activate.bat
- 仮想環境を有効化するスクリプトは、仮想環境ディレクトリ/binに配置される。
- 使用するOSやシェルによってスクリプトの場所と実行方法は異なるので、公式情報を調べる。
- 仮想環境が有効化されると、プロンプトの先頭に仮想環境ディクトリ名が表示される。
- Unix系(bash/zsh):
-
仮想環境の無効化
deactivate
- 無効化するとプロンプトはシステム共通のpython環境に戻ります。
-
仮想環境の削除
- 不要になった仮想環境は、ディレクトリごと削除。
-
仮想環境の整備(最初にやること)
- pipのアップグレード
- 必要なパッケージのインストール
-
requirements.txt
の作成(仮想環境を作り直す必要が発生した時に便利)
予備知識
-
pipのバージョン: venv作成時に指定したPythonに搭載されているpipがインストールされるが、
--upgrade-deps
オプションを使うことで最新版に更新可能。 -
Windowsの実行ポリシー: PowerShellで仮想環境を有効化する際、実行ポリシーが制限されている場合はエラーが発生する。解決策として、実行ポリシーを
RemoteSigned
に変更する必要がある。 - PipenvやPoetry: pipとvenvの機能を持つサードパーティの代替ツールで、依存関係の管理が容易。
仮想環境(venv) - 確認問題
-
仮想環境(venv)の主な目的は何ですか?
a) システム全体のPythonを更新するため
b) プロジェクトごとに異なるPythonのバージョンやパッケージを独立して管理するため
c) Pythonのバージョンを自動的にインストールするため
d) プロジェクトのコードを自動的にデプロイするため -
仮想環境を作成するコマンドはどれですか?
a)python3.x create venv <ディレクトリ名>
b)python3.x -m venv <任意のディレクトリ名>
c)create venv <ディレクトリ名>
d)venv create <ディレクトリ名>
-
Unix系システムで仮想環境を有効化するためのコマンドはどれですか?
a)activate <venv>
b)source <venv>/bin/activate
c)venv activate <venv>
d)run <venv>/bin/activate
-
仮想環境を無効化するためのコマンドは何ですか?
a)exit
b)quit
c)deactivate
d)stop
-
WindowsのPowerShellで仮想環境を有効化する際に、実行ポリシーが制限されている場合の解決策は何ですか?
a)Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
b)Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
c)Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
d)Set-ExecutionPolicy -ExecutionPolicy AllSigned -Scope CurrentUser
解答:
- b
- b
- b
- c
- b