仮想環境とは?
Pythonでは用途に応じて専用の実行環境を作成し、切り替えて使用することができます。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。
仮想環境は、次のような目的で使われます。
- システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えをしたい。
- 異なるバージョンの Python を使い分けたり、モジュールの複数のバージョンを使い分けたい。
ここでは、Python3 の標準ライブラリである venv で仮想環境を作成する方法を紹介します。
※本ページではWindowsで仮想環境を作成する方法を説明します。
仮想環境の作成
仮想環境の作成は、次のvenvコマンドを実行します。
下記で入力する仮想環境名のフォルダが作成され、この中に仮想環境用のファイルが作成されます。
python -m venv env py -3.8 -m venv py38env ※pythonのバージョンを指定する場合 |
上のコマンドでvenv以下の「env」や「py38env」は作成する仮想環境名です。任意の名称でOKです。
多くの場合、「env」という名前で仮想環境を作成します。
仮想環境の有効化
作成した仮想環境を有効化するには以下のコマンドを実行します。
env\scripts\activate.bat ※コマンドプロンプトの場合 env\scripts\activate.ps1 ※VisualStudioなどPowerShellから実行する場合 |
上記コマンド実行時にスクリプトが無効になっているとエラーがでる場合は下記コマンドを実行してから、再度有効化のコマンドを実行してください。
※PowerShellでスクリプトの実行を許可するコマンドです。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force |
仮想環境の無効化
仮想環境を無効化(終了)するには下記コマンドを実行します。
deactivate |
仮想環境のコピー
違うPCでも開発したり、複数人のチームで開発したりする時は、どこでも同じ仮想環境を使うようにする必要があります。
この場合、仮想環境のフォルダ(「env」フォルダなど)をコピーして共有するのではなく、仮想環境にインストールされているパッケージの一覧を作成して共有するようにします。
パッケージの一覧は、つぎのコマンドで作成できます。ここでは「requirements.txt」というテキストファイルにパッケージの一覧を作成しています。テキストファイルの名称は任意の名称でOKです。
python -m pip freeze > requirements.txt |
作成したパッケージ一覧から、次のコマンドで一括して仮想環境にパッケージをインストールできます。パッケージ一覧をソースコードと一緒に保存しておくことで、どこでも同じ環境でコードの実行ができるようになります。
python -m pip install -r requirements.txt |
コメント