Pythonのvenv仮想環境の使い方【Windows 】【初心者向け】

eye catching image of how to use venv virtual environment of python IT・AI活用準備

この記事で扱う内容

この記事では、Pythonの仮想環境であるvenvの使い方についてご紹介します。

前提

前提知識・前提スキル

  • Windows OS の基本操作ができる人

前提環境

  • 使用PC
    • OS が Windows 10または11であること
    • Python 3.3以降がインストールされていること

venvは、Python 3.3以降に標準化された機能のため、それより前のバージョンで同様に使おうとするとエラーが出ると思います。

バージョンが古い場合は、別の方法を使う必要があります。
(virtualenvパッケージをインストールするなど)

venvとは

venvについては、以下の記事で説明しています。ご確認ください。

venv仮想環境の作り方

venv仮想環境の作り方のアイキャッチ画像

スタートメニューで「ターミナル」を検索後、「ターミナル」を選択し起動する

ターミナルで、以下のコマンドを使用し、venv仮想環境を作成する

コマンド)

[コマンド名] -m venv [仮想環境用フォルダのパス(相対パス or 絶対パス)]
または
[コマンド名] [Pythonバージョン] -m venv [仮想環境用フォルダのパス(相対パス or 絶対パス)]

[コマンド名]部分は、以下を想定しています。

  • 「py」コマンド
  • 「python」コマンド
  • Python実行ファイル

何か特別な事情がない限り、「py」コマンドを使えば良いです。

[Pythonバージョン]部分は、仮想環境で使いたいPythonのバージョンを指定します。

当該バージョンのPythonがインストールされている必要があるため、ご注意ください。

[Pythonバージョン]部分は省略可能ですが、省略した場合、pyコマンドとpythonコマンドで動きが異なります。

pyコマンドの場合、使用PC内の最新バージョンのPythonで仮想環境が作成されます。

pythonコマンドの場合、Windows環境変数の「Path」に登録されているPython実行ファイルのバージョンで仮想環境が作成されます。
(複数登録されている場合は、最初に見つかったPython実行ファイルが実行されます)

[仮想環境用フォルダのパス]部分は、現在のフォルダからの相対パスを指定する絶対パスで指定することになります。

相対パスで作成する場合、「現在のフォルダ(カレントディレクトリ)」に仮想環境用フォルダが作成されます。

「現在のフォルダ(カレントディレクトリ)」は、ウィンドウ内のコマンド入力を受け付けている場所の左側に表示されているフォルダのことです。

事前に仮想環境用フォルダを作成したい場所に「cd」コマンドで移動してください。

cd [移動先フォルダの相対パス or 絶対パスなど]

仮想環境用フォルダは、よく「venv」や「.venv」という名前で作成する例が多いです。

Windowsでは、「.venv」のように先頭に「ピリオド(.)」が付いたフォルダは隠しフォルダと見なされます。

エクスプローラーでは、「隠しフォルダを表示する」ようにしていないと当該フォルダが表示されませんので、ご注意ください。

実行例

仮想環境用フォルダを相対パスで指定する場合

例)現在のフォルダに「venv」という仮想環境用フォルダを作成する

pyコマンドの場合)

py -m venv venv

pythonコマンドの場合)

python -m venv venv
仮想環境用フォルダを絶対パスで指定する場合

例)「D:\test」フォルダに「venv」という仮想環境用フォルダを作成する

pyコマンドの場合)

py -m venv "D:\test\venv"

pythonコマンドの場合)

python -m venv "D:\test\venv"
仮想環境で使うPythonのバージョンを指定する場合

例)現在のフォルダに「.venv」というPython 3.10仮想環境用フォルダを作成する

pyコマンドの場合)

py -3.10 -m venv venv

Python実行ファイルの場合)

& "$env:LOCALAPPDATA\Programs\Python\Python310\python.exe" -m venv venv

pythonコマンドではバージョンを指定できません。

対象バージョンのPython実行ファイルを直接実行すれば作成できます。

Python実行ファイルを直接実行する場合のコマンドの先頭に書いてある「&(アンパサンド)」は、「呼び出し演算子(Call operator)」と言います。

「スクリプトを実行して結果だけ欲しい」場合に使います。スクリプトを実行して定義された変数や関数は実行後に残りません。

他にも先頭に「.(ドット)」を書いて実行する場合がありますが、こちらはスクリプトを実行して定義された変数や関数は実行後も残ります。

上記の例でいうと、この演算子が無いとPowerShellは「”$env:LOCALAPPDATA\Programs\Python\Python310\python.exe”」の部分をただの文字だと認識してしまい、エラーになります。

「$env:[環境変数名]」は、PowerShellで環境変数の値を使う場合に用いる書き方です。

「$env:」に続けて環境変数名を書くことで、コマンド実行時、その部分がその環境変数の値に変わって実行されます。

上記例のように「$env:LOCALAPPDATA」と書いた場合、その部分が「C:\Users\{ユーザー名}\AppData\Local」に変わって、以下のように実行されます。

& "C:\Users\{ユーザー名}\AppData\Local\Programs\Python\Python310\python.exe" -m venv venv

環境変数を使うと、1つのコマンドで環境ごとの違いを吸収して実行できるようになります。

実行時にエラーが発生する場合は、以下の記事を参考にトラブルシューティングしてみてください。

「py」や「python」の実行ファイルの場所は以下を参考にしてください。

  • py
    • C:\Windows\py.exe
    • C:\Users\{ユーザー名}\AppData\Local\Programs\Python\Launcher\py.exe
  • python
    • C:\Program Files\Python{バージョン}\python.exe
    • C:\Users{ユーザー名}\AppData\Local\Programs\Python\Python{バージョン}\python.exe

venv仮想環境の使い方

venv仮想環境の使い方のアイキャッチ画像

venv仮想環境を有効にする方法

仮想環境フォルダを作成した際に自動生成される仮想環境有効化スクリプトを実行します。

コマンド)

[仮想環境フォルダのパス]\Scripts\Activate.ps1

実行例

例)「D:\test」フォルダに作成した「venv」仮想環境(Python 3.10)を有効化する

. "D:\test\venv\Scripts\Activate.ps1"

「(venv)」の表示が出ていれば、仮想環境が有効化されています。

この状態でpythonコマンドやスクリプトを実行すると、仮想環境内のPythonのバージョンでコマンドやスクリプトが実行されます。

仮想環境有効化スクリプト実行時にコマンドの先頭に書いてある「.(ドット)」は、「ドットソーシング演算子(Dot Sourcing operator)」と言います。

「Activate.ps1」は単なる「仮想環境を有効化する処理」を行うスクリプトですが、その中でやっていることは“環境変数の設定や関数の登録”です。

その設定を実行後も残したいので、「&」ではなく「.」を使っています。

venv仮想環境を無効にする方法

仮想環境が有効な状態で、仮想環境無効化コマンドを実行します。

コマンド)

deactivate

実行例

例)有効化した「D:\test」フォルダに作成した「venv」仮想環境(Python 3.10)を無効化する

deactivate

おすすめの関連記事

参考

タイトルとURLをコピーしました