pythonのvenv(ブイエンブ)は、プロジェクトごとに独立した環境を構築するための便利なツールです。
本記事では、venvの基本知識から実際の使い方まで、初心者の方にもイメージしやすいように説明していきます。
python venvとは?仮想環境の基礎知識
venvの基本
venvは、仮想環境を作成するためのツールで、pythonのバージョン3.3以降に標準機能として組み込まれています。
仮想環境とは、特定のプロジェクトに必要なPythonのパッケージやライブラリを独立して管理できる環境のこと。一言で言うと、
です。
これにより、異なるプロジェクト間での依存関係の衝突を避けることができ、開発がスムーズに進むようになります。
venvは、Pythonの標準ライブラリに含まれているため、追加のインストールが不要で、手軽に利用できるのが大きな特徴です。
なぜvenvが必要なの?
venvを使うと、多くのメリットがあります。
pythonを使う際には、色々な「ライブラリ(便利なプログラムの部品)」をインストールしますよね。全てのプロジェクトで同一バージョンのライブラリを使用できれば問題ありません。しかし、異なるライブラリ間の干渉等により、ライブラリの動作バージョンがプロジェクト毎に異なる場合も出てきます。
- プロジェクトA → 「ライブラリXの バージョン1」を使用
- プロジェクトB → 「ライブラリXの バージョン2」を使用
このような場合、「同じライブラリの違うバージョンを同時にインストールできない」 ため、どちらかのプロジェクトが動かなくなってしまいます。
そこで、venvの出番です。 プロジェクトAには「A専用の作業スペース」、プロジェクトBには「B専用の作業スペース」を作成。そして、それぞれのスペースに必要な道具(ライブラリ)を用意すれば、お互いに干渉せず、好きなライブラリを使うことができます。
各プロジェクトが独立環境で動作するため、互いに影響を与えないのが大きなメリットです。
また、特定のバージョンのライブラリを使用する必要がある場合でも、仮想環境を利用することで簡単に管理できます。さらに、開発環境を簡単に再現できるため、チームでの開発やデプロイ時にも非常に便利です。
従来の環境の違いは?
従来のPython環境は、全てのプロジェクトが同じ環境で動作します。そのため、異なるプロジェクト間で依存関係の問題が発生することがあります。
一方、仮想環境は、各プロジェクトが独立した環境で動作します。具体的には、仮想環境内でインストールしたパッケージは、その環境内でのみ有効であり、システム全体には影響を与えません。
そのため、開発者は安心して様々なバージョンのライブラリを使用することができます。
違いをまとめると、以下のようになります。
・従来の環境: みんなで使う広大なスペース。整理が大変で、物が混ざる。
・venv(仮想)環境: そのプロジェクト専用の小さなスペース。何をしても他には影響しない。
Python venvの使い方
venvを使って仮想環境を作成するのは、とても簡単です!
基本的には、
「作る」 → 「入る(有効化)」 → 「使う」 → 「出る」
の流れです。以下に、手順を追って説明しますね。
仮想環境を作る(作業スペースを用意する)
ターミナル(WindowsならコマンドプロンプトやPowerShell)で、プロジェクトのフォルダに移動し、以下のコマンドを打ちます。
# Windows / Mac 共通
python -m venv .venvpython -m venv:「仮想環境を作ってください」という命令。.venvは「仮想環境の名前」です。慣習として.venvやvenvという名前がよく使われますが、好きな名前でOKです。
作った作業スペースに入って、実際に作業できるようにします。ここが OSによってコマンドが違います。
Windows
.venv\Scripts\Activate.ps1Mac / Linux
source .venv/bin/activate以下のように、 コマンドラインの先頭に (.venv) という表示が出れば成功です! これで、作成した仮想環境が有効になります。
#例
(.venv) C:\Users\User\MyProject>後は、いつもと同じように作業しましょう。仮想環境を有効化した状態で pip install をすると、パソコン全体ではなく、その仮想環境の中だけに インストールされます。
pip install pandas作業を終えて仮想環境を出るときは、以下のコマンドを打ちます。
deactivateコマンドが成功すると、コマンドライン先頭の(.venv) という表示が消えます。これで、元の状態に戻りました。
仮想環境の削除と復元
上で説明した仮想環境は、気軽に作ったり消したりして大丈夫です。Python開発では、「環境がごちゃごちゃしてきたから、一回削除して作り直そう」 というのは、よくあることですよね。
ここでは、必要に応じて仮想環境を削除・復元する方法について説明します。
仮想環境の削除方法
作成した仮想環境(.venv などのフォルダ)を削除するのは簡単。特別な「削除コマンド」はありません。 ただのフォルダなので、「フォルダごとゴミ箱に捨てる」 だけで削除完了です。
手順は以下の2ステップです。
もし、現在その仮想環境に入っている状態(ターミナルに (.venv) が表示されている状態)なら、まずはそこから抜けます。
deactivate方法A:マウス操作で消す(一番かんたん)
- ファイルエクスプローラー(Windows)やFinder(Mac)を開きます。
- プロジェクトのフォルダにある
.venv(またはvenv)というフォルダ を探します。 - 右クリックして 「削除(ゴミ箱に入れる)」 を選びます。
これだけで完了です!きれいさっぱりなくなります。
方法B:コマンドで消す(慣れている人向け)
ターミナルからコマンド一発で消すこともできます。(フォルダ名が .venv の場合)
Windows
# フォルダの中身ごと強制削除するコマンド
rmdir /s /q .venvMac / Linux
rm -rf .venv上のやり方で消えるのは、仮想環境フォルダ(.venv)とその中身だけです。
自分のプログラムは通常、.venvフォルダプロジェクトフォルダ直下)の外にあるはずなので、それらは消えずに残ります。
仮想環境の復元
仮想環境を復元するには、requirements.txt(リクワイアメンツ・テキスト)を使います。
requierments.txtは、いわば「プロジェクトで使うライブラリ(道具)のリスト」です。
このリストさえあれば、仮想環境を削除してしまっても、あるいは別のパソコンに移動しても、コマンド一発でまったく同じ環境を再現できます。
手順は「リストを作る(保存)」と「リストから復元する」の2つです。
まず、仮想環境が有効((.venv)が表示されている状態)であることを確認してください。 その状態で、以下のコマンドを実行します。
pip freeze > requirements.txtpip freeze: インストールされているライブラリとバージョンの一覧を表示させる。>: 表示された内容を、ファイルに書き込む記号(リダイレクト)。requirements.txt: 保存するファイル名(慣習としてこの名前が使われます)。
結果: フォルダの中に requirements.txt というファイルが生成されます。中身を見ると、以下のようにライブラリ名とバージョンがズラッと書かれています。
pandas==2.0.3
numpy==1.24.3
requests==2.31.0
...仮想環境を削除した後や、新しいメンバーがプロジェクトに参加した時は、以下の手順で一気に環境を再現します。
① 新しい仮想環境を作る (python -m venv .venv)
② 仮想環境を有効化する (Windowsなら Activate.ps1, Macなら source ...)
③ リストを使って一括インストール
ここで、以下のコマンドを入力します。
pip install -r requirements.txt-r: 「このファイルを読み込んで(read)、書いてあるものを全部インストールして」というオプションです。
これで、一つ一つインストールしなくても、リストに書かれた10個でも100個でものライブラリが、自動的に正しいバージョンでインストールされます。
Python venv:まとめ
本記事ではpythonのvenvの使い方について、基礎的な内容を中心に説明してきました。
チームでの開発や異なるバージョンのライブラリを使用する場合には、仮想環境が不可欠です。venvを使いこなして、より便利な開発環境を構築し、効率的に作業を進めていきましょう!
