Pythonを使って開発や実験を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」と言います。
仮想環境の目的
仮想環境は、次のような目的で使われます:
– システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えをしたい。
– 異なるバージョンの Python を使いわけたり、同じモジュールの、複数のバージョンを使い分けたい。
仮想環境の作成
Python3 の標準ライブラリである venv で仮想環境を作成する方法を紹介します。まず、開発対象のプロジェクトを格納するディレクトリを作成します。次に、プロジェクトディレクトリに sample.py という名前のソースファイルを作成しましょう。
import requests
print(requests.get("https://www.python.jp").text)
この sample.py で使っている requests モジュールは、Python標準のモジュールではなく、別途インストールしないと使えません。
仮想環境への切り替え
Windowsでは、Python を コマンド プロンプトで実行する場合と、PowerShell で実行する場合で、仮想環境の使い方が違います。
コマンド プロンプトでの切り替え
作成した仮想環境 .venv ディレクトリにある Scripts\\activate.bat を実行します。
C:\\Users\\user1\\sapmle1>.venv\\Scripts\\activate.bat
(.venv) C:\\Users\\user1\\sample1>
コマンド プロンプトの先頭に (.venv) と表示され、仮想環境で実行中であることを示します。
PowerShellでの切り替え
仮想環境を利用する前に、PowerShellでスクリプトの実行を許可しておきます。
PS C:\\> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
次に、作成した仮想環境 .venv ディレクトリにある Scripts\\activate.ps1 を実行します。
PS C:\\Users\\user1\\sapmle1> .venv\\Scripts\\activate.ps1
(.venv) C:\\Users\\user1\\sample1>
コマンド プロンプトの先頭に (.venv) と表示され、仮想環境で実行中であることを示します。
パッケージのインストール
仮想環境を使用中に pip モジュールでPyPIからパッケージをインストールすると、仮想環境にインストールされます。
(.venv) C:\\Users\\user1\\sample1>python -m pip install requests
ここで、さきほど作成した sample.py を実行してみましょう。
(.venv) C:\\Users\\user1\\sample1>python sample.py
インストールしたモジュールは、仮想環境内にのみ書き込まれ、元の Pythonや、他の仮想環境からは利用できません。
仮想環境のコピー
違うPCでも開発したり、複数人のチームで開発したりする時は、どこでも同じ仮想環境を使うようにする必要があります。この場合、仮想環境 ( .venv ディレクトリ) をコピーして共有するのではなく、仮想環境にインストールされているパッケージの一覧を作成して、みんなで共有するようにします。
(.venv) C:\\Users\\user1\\sample1>python -m pip freeze > requirements.txt
作成した requirements.txt ファイルは、ソースコードと一緒にgitなどに登録して一元管理しましょう。
以上がPythonとWindows環境での仮想環境の設定についての基本的な情報です。これらの情報を元に、Pythonの開発環境をより効率的に管理し、開発プロセスをスムーズに進めることができます。