閉じる

【Python】仮想環境を有効化する方法【venv・Windows/Mac対応】

Pythonの開発では、ライブラリやバージョンの違いによるトラブルが起こりがちです。

そんな問題を防ぐために役立つのが「仮想環境」です。

本記事ではPython標準のvenvを使って仮想環境を作成・有効化する方法について、WindowsとMacそれぞれでの手順を図解つきでくわしく解説します。

Python仮想環境(venv)とは

仮想環境を使うメリットと必要性

Pythonの仮想環境とは、1台のPCの中にプロジェクトごとに独立したPython実行環境を作る仕組みです。

OS全体にインストールされたPython(グローバル環境)とは分離されるため、プロジェクトごとに異なるライブラリやバージョンを安全に使い分けることができます。

仮想環境を使う主なメリットは次の通りです。

  • プロジェクトごとに異なるライブラリのバージョンを共存できる
  • ライブラリのインストールや削除が他のプロジェクトに影響しない
  • チームメンバーと同じ環境を再現しやすく、動作不良の原因を減らせる
  • 不要になったら仮想環境ごとフォルダを消すだけでクリーンに片付けられる

例えば、あるプロジェクトではDjango 3.2、別のプロジェクトではDjango 4.1を使いたい場合、仮想環境を使えば同じPC上で両方のバージョンを安全に使い分けることができます。

venvと他の仮想環境ツールの違い

Pythonの仮想環境ツールには、いくつかの種類があります。

代表的なものを比較してみます。

ツール名主な提供元・特徴インストール向いている用途
venvPython標準ライブラリ。軽量でシンプル不要一般的なPython開発全般
virtualenv外部パッケージ。古いPythonバージョンにも対応必要Python 3.3未満や互換性重視の環境
condaAnaconda/Minicondaの環境管理ツール要(Anaconda等)データサイエンス、Python以外のパッケージも含む環境

この記事では標準ライブラリだけで完結する「venv」に絞って解説します。

追加インストールが不要で、多くのケースでこれだけで十分だからです。

WindowsでPython仮想環境(venv)を作成・有効化する方法

Pythonがインストールされているか確認する方法

Windowsでは、まずPython本体が正しくインストールされているか確認します。

コマンドプロンプトやPowerShellで次のコマンドを実行します。

PowerShell
python --version

Pythonランチャーを使う場合は次のコマンドでも確認できます。

PowerShell
py --version

どちらかでPython 3.x.xのようにバージョンが表示されれば、Pythonはインストールされています。

「認識されません」「見つかりません」と表示される場合は、後述のトラブルシューティングの章を参照してください。

venvで仮想環境を作成するコマンド

仮想環境は、基本的にプロジェクトごとに1つ作成します。

例としてC:\work\myprojectというフォルダで作業する場合を考えます。

まず、作業フォルダに移動します。

PowerShell
cd C:\work\myproject

次に、venvモジュールを使って仮想環境を作成します。

PowerShell
python -m venv venv

またはPythonランチャーを使う場合は次のようにします。

PowerShell
py -m venv venv

ここでのvenvは「仮想環境のフォルダ名」です。

よく使われる慣習として仮想環境のフォルダ名をvenv.venvにすることが多いですが、envなど別の名前でも構いません。

コマンドが成功すると、プロジェクトフォルダの中にvenvという新しいフォルダが作成され、その中に独立したPython実行環境一式が作られます。

仮想環境を有効化する方法

Windowsでは、使うシェルによって実行するスクリプトが変わります。

ここでは代表的な2つを紹介します。

PowerShellで有効化する場合

PowerShellを使っている場合は、次のコマンドで仮想環境を有効化します。

PowerShell
# myproject フォルダにいる前提
cd C:\work\myproject

# venv を有効化
.\venv\Scripts\Activate.ps1

成功すると、プロンプトの先頭に(venv)のように環境名が表示されるようになります。

コマンドプロンプト(cmd)で有効化する場合

コマンドプロンプトでは、次のコマンドを実行します。

Batch File
cd C:\work\myproject

venv\Scripts\activate.bat

こちらも同様に、プロンプトの先頭に(venv)が付きます。

仮想環境を有効化した状態でpythonpipを実行すると、その仮想環境専用のPythonやライブラリが使われるようになります。

(確認) 仮想環境のPythonが使われているかチェック

有効化できたら、仮想環境のPythonが使われているかを確認します。

PowerShell
# Pythonの場所を確認
where python

出力の先頭にC:\work\myproject\venv\Scripts\python.exeのようなパスが表示されていれば、仮想環境が正しく使われています。

仮想環境を無効化する方法

仮想環境の利用を終えたら、必ず無効化してからターミナルを閉じる習慣を付けると混乱を防ぎやすくなります。

有効化したシェル上で次のコマンドを実行します。

PowerShell
deactivate

これだけで、仮想環境は無効化されます。

プロンプトから(venv)の表示が消えれば成功です。

無効化すると、再びグローバル環境のPythonやpipが使われる状態に戻ります。

MacでPython仮想環境(venv)を作成・有効化する方法

Pythonとpipのバージョンを確認する方法

macOSでは、システムに入っているPythonと自分でインストールしたPythonが混在することがあります。

そのため、通常はpython3pip3を使うケースが多くなります。

ターミナルを開き、次のコマンドでバージョンを確認します。

Shell
python3 --version
pip3 --version

どちらもPython 3.x.xpip x.x.x from ...のように表示されれば、準備は整っています。

もしコマンドが見つからないと言われる場合は、HomebrewなどでPythonをインストールする必要があります。

venvで仮想環境を作成するコマンド

Macでも基本的な手順はWindowsと同じです。

例として~/projects/myprojectというフォルダで作業するとします。

まず、作業フォルダに移動します。

Shell
cd ~/projects/myproject

次に、venvモジュールを使って仮想環境を作成します。

Shell
python3 -m venv venv

コマンドが成功すると、カレントディレクトリの中にvenvフォルダが作成されます。

仮想環境を有効化する方法

MacやLinuxのシェル(BashやZsh)では、次のコマンドで仮想環境を有効化します。

Shell
# myproject フォルダにいる前提
cd ~/projects/myproject

# venv を有効化
source venv/bin/activate

または、シェルによっては. venv/bin/activateと書くこともあります。

有効化されると、プロンプトの先頭に(venv)と表示されるようになります。

この状態でpythonpipを実行すると、その仮想環境のPythonやライブラリが使われます。

(確認) どのPythonが使われているかチェック

Shell
which python
which pip

出力パスに/path/to/myproject/venv/bin/pythonのようにvenv/binが含まれていれば、仮想環境が正しく有効になっています。

仮想環境を無効化する方法

Macでも、仮想環境の無効化はWindowsと同じコマンドです。

Shell
deactivate

プロンプトから(venv)が消えれば、仮想環境は無効化されています。

以降のpythonpipは、グローバル環境のものが使われるようになります。

仮想環境を使う際のよくあるトラブルと対処法

venvコマンドが見つからない場合の対処法

python -m venvを実行した時に、次のようなエラーが出ることがあります。

  • ModuleNotFoundError: No module named 'venv'
  • No module named venv

この場合、主に次の原因が考えられます。

Pythonのバージョンが古い

Python 3.3未満には標準でvenvモジュールが含まれていません

Python 3.8〜3.12など、比較的新しいバージョンをインストールして使ってください。

バージョンを確認するには、次のコマンドを実行します。

Shell
python --version
python3 --version

Windowsで「Pythonのオプション機能」が不足している

Windows版のPythonをインストールする際、オプションで一部の標準ライブラリが外されている場合があります。

その場合は、公式インストーラからPythonを再インストールし、「全ユーザー用にインストール」「パスを通す」などのチェックを適切に入れてセットアップし直してください。

activateできない時の原因

仮想環境のactivateスクリプトがうまく実行できないケースもよくあります。

代表的な原因を見ていきます。

Windows PowerShellの実行ポリシーに阻まれている

PowerShellで次のようなエラーが出る場合があります。

このシステムではスクリプトの実行が無効になっているため...

これはPowerShellの「実行ポリシー」が厳しすぎるため、Activate.ps1が実行できないことが原因です。

一時的に実行ポリシーを緩めるには、管理者としてPowerShellを開き、次のコマンドを実行します。

PowerShell
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

対話的に確認が出るので、Yを入力して続行します。

その後、再度.\venv\Scripts\Activate.ps1を実行してみてください。

パスの指定ミスやフォルダ位置の勘違い

単純にcdで別のフォルダに移動してしまっているなど、現在位置と仮想環境の場所がずれているケースも多いです。

  • Windows: dir コマンドでvenvフォルダが見える場所にいるか確認する
  • Mac: ls コマンドでvenvフォルダが見えるか確認する

それでも見つからない場合は、仮想環境を作成したフォルダに戻るか、仮想環境自体を作り直しましょう。

仮想環境の場所と削除方法

仮想環境の中身は、基本的に1つのフォルダの中に完結しています。

この記事の例では、次の場所になります。

  • Windows: C:\work\myproject\venv\
  • Mac: ~/projects/myproject/venv/

仮想環境の削除方法

仮想環境を完全に消したい場合は、フォルダごと削除すればOKです。

  • Windowsのエクスプローラーでvenvフォルダを右クリックして削除
  • MacのFinderでvenvフォルダをゴミ箱に移動

コマンドラインから削除する場合は、次のようにします。

PowerShell
# Windows (PowerShell)
Remove-Item -Recurse -Force .\venv
Shell
# Mac / Linux
rm -rf venv

削除コマンドは取り消しができないため、カレントディレクトリやフォルダ名をよく確認してから実行するようにしてください。

仮想環境を削除しても、プロジェクト本体のソースコードやrequirements.txtなどは残ります

必要になったら、同じ場所にもう一度python -m venv venvで仮想環境を作り直せます。

まとめ

Pythonの仮想環境(venv)は、プロジェクトごとに独立した実行環境を簡単に作れる、とても重要な仕組みです。

WindowsでもMacでも、基本の流れは「Pythonの確認 → python -m venv venvで作成 → activateで有効化 → deactivateで終了」という共通パターンになります。

この記事の手順とトラブル対処法を押さえておけば、仮想環境の操作で迷うことはほとんどなくなりますので、まずは小さなプロジェクトから実際に試して慣れてみてください。

クラウドSSLサイトシールは安心の証です。

URLをコピーしました!