venvの使い方【仮想環境を使うメリットと、pipとの関係】

目次
venvとは
venv(読み方:ベンヴまたはヴイ・イー・エヌ・ヴイ)は、Pythonの「仮想環境」を作るための標準機能で、
「Pythonのプロジェクトごとに、専用の環境を作る仕組み」です。
通常、Pythonでパッケージ(ライブラリ)をインストールすると、PC全体に影響します。しかし、それだとプロジェクトごとに異なるパッケージやバージョンを使いたい場合に困ります。
➡ そこで venv を使うと、そのプロジェクト専用のPython環境を作れるようになります。
仮想環境とは?
仮想環境とは、Python専用の“作業部屋”をプロジェクトごとに作れる仕組みです。
この部屋の中では、他のプロジェクトやシステムのPythonライブラリに一切影響を与えません。
SAKASA AI

Pythonの仮想環境【venv】とその他の選択肢【仮想環境の種類一覧】 | SAKASA AI Pythonの仮想環境【venv】についての詳しい解説とPythonの他の仮想環境の選択肢について【仮想環境の種類一覧】を交えて書いています。
なぜ仮想環境が必要なのか
Pythonを使っていくと、「ライブラリのバージョンがぶつかる」「なぜか動かない」などのトラブルが起きがちです。
そんなときに役立つのが「仮想環境(virtual environment/venv)」です。
| 目的 | 説明 |
|---|---|
| プロジェクトごとの環境を分けられる | 他のプロジェクトに影響しない |
| 依存関係の管理が楽 | requirements.txt で一括管理できる |
| デプロイが楽になる | サーバー上でも同じ環境を再現できる |
仮想環境を使わない場合
- すべてのライブラリがシステム共通になる
- プロジェクトAでは
numpy==1.21を使っていて
プロジェクトBではnumpy==1.26が必要なとき…
→ 競合してしまう!
仮想環境を使うと…
- プロジェクトごとに完全に独立した環境が作れる
- ライブラリのバージョン違いがあっても衝突しない
- pipでインストールしたライブラリも、その環境内にだけ適用
具体的なイメージ
| プロジェクト名 | 必要な道具(ライブラリ) | 仮想環境(venv)名 |
|---|---|---|
| 音声認識AIツール | whisper, torch | env-whisper |
| 画像生成AIツール | diffusers, transformers | env-imagegen |
| Webアプリ | flask, requests | env-webapp |
venvを使用している場合、それぞれの環境に、そのプロジェクトで必要なものだけが入るので、
- ほかのプロジェクトに影響を与えない
- 違うライブラリのバージョンがあってもケンカしない
- 使わなくなったらフォルダごと削除する事が出来る
というわけです。
仮想環境の使い方ステップ(基本)
Python 3.3 以降であれば、以下の手順は 全バージョン共通です。
python -m venv venv ← 仮想環境を作る
venv\Scripts\activate ← 有効化
deactivate ← 無効化1. 仮想環境の作成
python -m venv myenvmyenv というフォルダができ、そこが仮想環境になります。myenv は仮想環境の名前(好きな名前でOK)
2. 仮想環境の有効化
Mac/Linux
source myenv/bin/activateWindows(PowerShell)
.\myenv\Scripts\Activate.ps1Windows(コマンドプロンプト)
myenv\Scripts\activate有効化されると、ターミナルの前に (myenv) という表示が出ます!
仮想環境を作るコマンドは、以下で入力します。
| OS | 開く場所 | 説明 |
|---|---|---|
| Windows | Windows TerminalまたはPowerShell、 | スタートメニューでWindows Terminal、または「powershell」と入力して開けます。 |
| macOS | 「ターミナル」 | Spotlight検索(⌘ + Space)で「Terminal」と入力して開けます。 |
| Linux | 「端末」 | 通常のターミナルアプリを使います。 |
ターミナルの開き方の詳細
※ Windows のターミナルの起動方法…
Windows Terminal起動方法
- スタートメニューで、左クリック➡
ターミナルもしくは、「Windows Terminal」と検索して起動
※ デフォルトでは PowerShell または WindowsPowerShell)が開きます
画像生成用途の場合は、コマンドプロンプト(CMD)と相性が良いです。
pip install や conda などのモダン開発向けコマンドは、PowerShellと相性が良いです。
(※コマンドプロンプト(cmd)をWindows Terminal から開く為の設定方法はこちらの記事をご覧ください。)
Windows Terminalは、タブを切り替えて複数のシェルを使う事が出来ます
- 上部の
+ボタンから新しいタブを開けます
※Microsoft 公式も「Windows Terminal」を推奨
※ Mac のターミナルの起動方法…
ターミナル起動方法
- **「Command ⌘ + Space」を押して、「Spotlight検索」**を開く
- 検索バーに「ターミナル」と入力してEnter
または、以下の手順でも開けます:
アプリケーション → ユーティリティ → ターミナル
※ Linux のターミナルの起動方法…
Linuxターミナル起動方法
- 1,:
Ctrl + Alt + Tを同時に押す(多くのLinuxディストリビューションで共通) - 2,:アプリケーション一覧から「ターミナル」または「Terminal」で検索して開く
Ubuntu、Fedora、Debianなど、ほとんどのLinux環境に標準で搭載されています。
※ PowerShell の起動方法…(Windows)
PowerShell(パワーシェル)**は、Windowsに標準搭載されている、より高度な操作ができるコマンドラインツールです。見た目はコマンドプロンプトと似ていますが、より多機能で、プログラミング的な処理も得意です。
PowerShell起動方法
1,スタートメニューで「PowerShell」と検索してクリック
※ コマンドプロンプト(cmd)の起動方法…(Windows)
Windowsキー + Rを押す
「cmd」と入力してEnterを押す
または、スタートメニューで「コマンドプロンプト」と検索してもOK!
コマンドプロンプト(cmd)は、Windowsのターミナルからも開く事が出来ます
(※コマンドプロンプト(cmd)をWindows Terminal から開く為の設定方法はこちらの記事をご覧ください。)
3. ライブラリを仮想環境にインストール
pip install requests- これは「その仮想環境だけ」にインストールされます
実際の手順(例)
たとえば、以下のように作業用フォルダを作って、その中で仮想環境を作るのがおすすめです
mkdir myproject
cd myproject
python -m venv myenvpython の部分を 使用するバージョンによって、py -3.9 や py -3.8 に置き換えればOKです。
すると、myproject/myenv/ という仮想環境が作成されます。
ポイント
python -m venv myenvは「myenvという名前の仮想環境を作る」という意味です。myenvという名前は自由に変えてOK(例:.venvやenvなどもよく使われます)
4. 仮想環境の無効化(終了)
deactivate| バージョン | venv使用 | 自分で選ぶべきか? |
|---|---|---|
| Python 3.10 | 安定・推奨(特にWebUI向け) | これを選べば間違いなし |
| Python 3.11〜3.12 | ⚠️ 一部不具合あり(xformers等) | 上級者・検証目的以外は避けた方がよい |
| Python 3.8〜3.9 | 安定。ただし一部ライブラリが非推奨に | 開発環境が古めの場合に使うことも |
Pythonバージョン確認(仮想環境内で)
python --version⚠️ バージョンによる違い・注意点
| バージョン | 主な違い・注意点 |
|---|---|
| 3.3〜3.4 | pip が自動で入らないことがある → ensurepip を使う必要あり |
| 3.5〜3.7 | venv 機能は安定しているが、サポート終了(非推奨) |
| 3.8〜3.10 | 安定&pipも自動インストール → WebUIにも最適 |
| 3.11〜3.12 | venvは問題なく動作するが、一部のAIライブラリが未対応のことあり(例:xformers) |
pipが入っていないときの対処法(古いバージョン)
python -m ensurepip --upgradeこれで仮想環境に pip を導入できます(Python 3.4以降で利用可能)。
| 項目 | 3.3〜3.4 | 3.5〜3.7 | 3.8〜3.10 | 3.11〜3.12 |
|---|---|---|---|---|
| venv利用可 | ||||
| pipの自動インストール | ❌ 要ensurepip | 一部あり | ||
| 起動手順の違い | ほぼ同じ(pipだけ注意) | 同じ | 同じ | 同じ |
| 推奨度 | ❌ | ⚠️ | 最も推奨 | ⚠️ (AI系では非推奨) |
pipでライブラリをインストールする方法
pip install ライブラリ名このとき入れたライブラリは、仮想環境の中だけにインストールされます。
【ステップ4】作業が終わったら無効化(deactivate)
deactivateこれでシステム全体のPython環境に戻ります。
補足:上記の
pip自体をインストールするコマンドと、
pipでライブラリをインストールするコマンドについての解説
少しややこしいコマンドの違いについて。
| コマンド | 目的 |
|---|---|
python -m ensurepip --upgrade | pip自体をインストール・更新する |
pip install ライブラリ名 | Pythonライブラリをインストールする(例:torch, transformersなど) |
1. python -m ensurepip --upgrade の意味
これは、「pipが入っていない or 古いときに pip を導入・更新する」ためのコマンドです。
いつ使う?
- 仮想環境を作ったばかりで
pipが使えないとき - 古いPython(例:3.4〜3.5)で仮想環境に
pipが入っていないとき pipコマンドが壊れている、エラーになるとき
実行例:
python -m ensurepip --upgrade--upgrade を付けると、最新のpipにアップグレードします。
2. pip install ライブラリ名 の意味
これは、実際に必要なPythonライブラリをインストールするためのコマンドです。
例:
pip install torch
pip install transformers
pip install gradioこれは、仮想環境の中でもグローバルでも使えます(※推奨は仮想環境内)。
両者の関係
python -m ensurepipは「pip本体を準備する」ステップpip install ~は「pipを使ってライブラリを入れる」ステップ
つまり、pipが使える状態にしてから → pipでライブラリをインストール
よくある誤解の回避ポイント
| 誤解 | 正しい理解 |
|---|---|
ensurepip でライブラリもインストールできる? | ❌ → できません。あくまで pip 本体だけ |
pip install はpipがないと使えない? | → だから最初に ensurepip が必要な場合がある |
| 仮想環境に自動でpipが入っている? | (Python 3.4以降)ただし壊れていることもあるので確認は大事です。 |
pipと仮想環境の関係まとめ
| 項目 | 仮想環境を使わない | 仮想環境を使う |
|---|---|---|
| pipの対象 | システム全体 | 仮想環境の中だけ |
| バージョン競合 | 起きやすい | 起きにくい |
| 権限(Permission) | root権限が必要な場合あり | 権限不要でOK |
| 環境の整理 | やや煩雑 | プロジェクトごとに分離できて安全 |
仮想環境+pipでトラブル知らず!
仮想環境を使うことで、次のようなメリットがあります
- ライブラリのバージョン衝突を防げる
- 他のプロジェクトに影響を与えない
- pipでのインストール・アンインストールが安心
- エラーが減る、環境が汚れない!
Pythonで本格的に開発を始めたい方は、まず「venv(仮想環境)+pip」の基本セットを覚えるとグッと楽になりますよ!
仮想環境に関して更に詳しく知りたい方におすすめ記事

Pythonの仮想環境【venv】とその他の選択肢【仮想環境の種類一覧】 Pythonの仮想環境は venv 以外にも複数の選択肢があります。そして、それぞれにメリット・デメリットがあります。ただ、現実的には 「多くのPythonユーザーが venv を使…



