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

venvとは
venv(読み方:ベンヴまたはヴイ・イー・エヌ・ヴイ)は、Pythonの「仮想環境」を作るための標準機能で、
「Pythonのプロジェクトごとに、専用の環境を作る仕組み」です。
通常、Pythonでパッケージ(ライブラリ)をインストールすると、PC全体に影響します。しかし、それだとプロジェクトごとに異なるパッケージやバージョンを使いたい場合に困ります。
➡ そこで venv
を使うと、そのプロジェクト専用のPython環境を作れるようになります。
仮想環境とは?
仮想環境とは、Python専用の“作業部屋”をプロジェクトごとに作れる仕組みです。
この部屋の中では、他のプロジェクトやシステムの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 myenv
myenv
というフォルダができ、そこが仮想環境になります。myenv
は仮想環境の名前(好きな名前でOK)
2. 仮想環境の有効化
Mac/Linux
source myenv/bin/activate
Windows(PowerShell)
.\myenv\Scripts\Activate.ps1
Windows(コマンドプロンプト)
myenv\Scripts\activate
有効化されると、ターミナルの前に (myenv)
という表示が出ます!
仮想環境を作るコマンドは、以下で入力します。
OS | 開く場所 | 説明 |
---|---|---|
Windows | Windows TerminalまたはPowerShell、 | スタートメニューでWindows Terminal、または「powershell」と入力して開けます。 |
macOS | 「ターミナル」 | Spotlight検索(⌘ + Space)で「Terminal」と入力して開けます。 |
Linux | 「端末」 | 通常のターミナルアプリを使います。 |
ターミナルの開き方の詳細
ターミナル(Windows Terminal)コマンドプロンプト、PowerShell、の開き方
Windowsの場合は、(※Windows Terminal)を開きます。
※Windows Terminal(ウィンドウズターミナル)の起動方法…
コマンドの実行は、Windows標準の「Windows Terminal」を使って行います。
(※コマンドプロンプト(cmd)やPowerShellでも同様に動作しますが、Windows Terminalの方が操作しやすくおすすめです。)
コマンドプロンプト(Command Prompt)とは、Windowsに搭載されているテキストベースのインターフェースです。マウス操作ではなく、キーボードからコマンド(指示)を入力することで、パソコンを操作できます。
Windows Terminal起動方法
- スタートメニューで、左クリック➡ターミナルを起動もしくは、「Windows Terminal」と検索して起動
- デフォルトでは PowerShell または Command Prompt(cmd)(又は、WindowsPowerShell)が開きます
画像生成用途の場合は、Command Prompt コマンドプロンプト(CMD)と相性が良いです。
pip install
や conda
などのモダン開発向けコマンドは、PowerShellと相性が良いです。
※詳しい使用方法や、Windows Terminalの設定方法は、こちらの記事をご覧ください。
Windows Terminalは、タブを切り替えて複数のシェルを使う事が出来ます
- 上部の
+
ボタンから新しいタブを開けます - PowerShell
- Command Prompt
- WSL(Linuxサブシステム)※インストール済みなら
- Azure Cloud Shell(必要な場合)
をクリックすると以下の選択肢があります
※Microsoft 公式も「Windows Terminal」を推奨しているため、当サイトでも記載するWindowsのコマンド実行場所を、コマンドプロンプト(cmd)から「Windows Terminal」に変更致しました。
コマンド入力は間違えるとエラーになることもありますが、慣れると素早く作業ができる便利なツールです。
Macの場合は、(※ターミナル)を開きます。
※ターミナル(Terminal)の起動方法…
Macには「ターミナル(Terminal)」というアプリがあり、これを使うことで、コマンドを入力してシステムを操作できます。
ターミナル起動方法
- **「Command ⌘ + Space」を押して、「Spotlight検索」**を開く
- 検索バーに「ターミナル」と入力してEnter
または、以下の手順でも開けます:
アプリケーション → ユーティリティ → ターミナル
※Linux のターミナルの起動方法…
Linuxでは「ターミナル」が、コマンド操作の基本です。ウィンドウの中でキーボード入力によりシステムを操作します。
Linuxターミナル起動方法
- 1,:
Ctrl + Alt + T
を同時に押す(多くのLinuxディストリビューションで共通) - 2,:アプリケーション一覧から「ターミナル」または「Terminal」で検索して開く
Ubuntu、Fedora、Debianなど、ほとんどのLinux環境に標準で搭載されています。
Macのターミナルと似た雰囲気で、コマンドの使い方もほぼ共通です。
※PowerShell の起動方法…(Windows)
PowerShell(パワーシェル)**は、Windowsに標準搭載されている、より高度な操作ができるコマンドラインツールです。見た目はコマンドプロンプトと似ていますが、より多機能で、プログラミング的な処理も得意です。
PowerShell起動方法
1,スタートメニューで「PowerShell」と検索してクリック
2,Windowsキー + R を押して「powershell」と入力 → Enter
コマンドプロンプトと同様、キーボードからコマンドを入力して操作します。
たとえば Get-ChildItem
(=フォルダの中身を見る)など、PowerShell独自のコマンドもありますが、通常のコマンド(例:cd
やpython
など)も使えます。
※コマンドプロンプト(cmd)の起動方法…(Windows)
Windowsキー + Rを押す
「cmd」と入力してEnterを押す
または、スタートメニューで「コマンドプロンプト」と検索してもOK!
ターミナル(Windows Terminal)を開き、”○○○(ツール名)”と打ち込むと呼び出してくれます。
3. ライブラリを仮想環境にインストール
pip install requests
- これは「その仮想環境だけ」にインストールされます
実際の手順(例)
たとえば、以下のように作業用フォルダを作って、その中で仮想環境を作るのがおすすめです
mkdir myproject
cd myproject
python -m venv myenv
python
の部分を 使用するバージョンによって、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」の基本セットを覚えるとグッと楽になりますよ!

