[解決!Python]venvモジュールを使って仮想環境を構築するには解決!Python

venvモジュールはPythonに標準で添付される仮想環境構築用のモジュールである。これを使って仮想環境を構築したり、その環境を有効化/無効化したりする方法を紹介。

» 2023年01月31日 05時00分 公開
[かわさきしんじDeep Insider編集部]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「解決!Python」のインデックス

連載目次

コマンド 説明
python -m venv 仮想環境ディレクトリ
py -m venv 仮想環境ディレクトリ
指定した「仮想環境ディレクトリ」に仮想環境を構築する(Windowsではpythonコマンドではなくpyコマンドを使用する場合もある)
source 仮想環境ディレクトリ/bin/activate 仮想環境を有効にする(sourceコマンドがあるUNIX系統のシェル)。使用しているシェルによっては「.fish」「.csh」などの拡張子が必要
. 仮想環境ディレクトリ/bin/activate 仮想環境を有効にする(UNIX系統のOS)。使用しているシェルによっては「.fish」「.csh」などの拡張子が必要
仮想環境ディレクトリ\Scripts\activate 仮想環境を有効にする(Windows)。使用しているシェルごとに「.bat」「.ps1」の拡張子を付加してもよい
deactivate 仮想環境を無効にする
venvモジュールを使った仮想環境の構築とその有効化/無効化

venvモジュールを使って仮想環境を構築する

 venvモジュールは仮想環境を構築するためのモジュールだ。マシンワイドにインストールされている特定バージョンのPythonを基に仮想環境を構築することで、「複数のプロジェクトがあり、それらが同一ライブラリの異なるバージョンを使用する」ようなときにプロジェクトごとに作成した仮想環境に別々のバージョンのライブラリをインストールできる。

 仮想環境を構築するにはPython処理系を起動するコマンド(pythonまたはpy)に-mオプションを指定して、続けてモジュール名である「venv」と仮想環境を構築するディレクトリを指定する。まとめると「python -m venv 仮想環境ディレクトリ」(UNIX系統のOSなど)や「py -m venv 仮想環境ディレクトリ」(Windows環境)となる。

 仮想環境ディレクトリの名前としては、ドキュメントによれば「.venv」がよく使われるとのことだ。本稿では「venv」を使用する。

 このとき仮想環境は起動したPython処理系のバージョンを使うようにセットアップされる。そのため、「python3.9 -m venv 仮想環境ディレクトリ」「py -3.10 -m venv 仮想環境ディレクトリ」などのように仮想環境構築に使用するPythonのバージョンを指定することも可能だ。

 例えば、以下はmacOSでPython 3.10を使用して仮想環境を構築する例だ(ターミナルでzshを使用)。

仮想環境の構築(macOS) 仮想環境の構築(macOS)

 また、以下はWindowsでPython 3.11を使用して仮想環境を構築する例だ(コマンドプロンプトを使用)。

仮想環境の構築(Windows) 仮想環境の構築(Windows)

 これらのコマンドにより仮想環境ディレクトリにはPython処理系を含んだディレクトリ(UNIX系統のOSでは「bin」、Windows環境では「Scripts」)やライブラリのインストール先となる「Lib」ディレクトリ、仮想環境の構成情報を含むpyvenv.cfgファイルなどが作成される。

仮想環境を有効にする

 構築した仮想環境はactivateコマンドで有効化することで、使用できるようになる。これには仮想環境ディレクトリの下にあるbinディレクトリ(またはScriptsディレクトリ)に含まれている有効化スクリプトを実行する。スクリプトの名前は基本的に「activate」だが、自分が使用している環境やシェルによっては「.fish」「.csh」「.ps1」「.cmd」などの拡張子を付加する必要があるかもしれない。

 このスクリプトをUNIX系統のOSではsourceコマンド(または.コマンド)を使って「source venv/bin/activate」「. venv/bin/activate.csh」などのように実行する。WindowsではコマンドプロンプトやPowerShellから単に「venv\Scripts\activate」または拡張子を明記して「venv\Scripts\activate.bat」「venv\Scripts\activate.ps1」などと実行する。

 仮想環境が有効になると、プロンプトの先頭にはその仮想環境の名前(仮想環境ディレクトリの名前)がかっこに囲まれて表示されるようになる。

 例えば、以下はmacOSで仮想環境を有効にする例だ。

仮想環境を有効にする(macOS) 仮想環境を有効にする(macOS)

 以下はWindows環境で仮想環境を有効にしているところだ。

activateスクリプトを実行(Windows) activateスクリプトを実行(Windows)

 activateスクリプトファイルを実行すると、画面がクリアされた後、以下のような画面が表示される。

仮想環境が有効になった(Windows) 仮想環境が有効になった(Windows)

 仮想環境を無効にするには「deactivate」コマンドを実行する。

 以下はmacOS環境での例だ。

仮想環境の無効化(macOS) 仮想環境の無効化(macOS)

 以下はWindows環境での例だ。

仮想環境の無効化(Windows) 仮想環境の無効化(Windows)

 Visual Studio Codeなど、仮想環境を構築し、それをプロジェクトで使用するデフォルトのPython処理系として設定すると、ターミナルを開いたときに仮想環境の有効化を自動的に行ってくれるような開発環境やエディターもあるので、それらの支援機能を使うのもよいだろう。

「解決!Python」のインデックス

解決!Python

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。