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でインストールしたライブラリも、その環境内にだけ適用
仮想環境の使い方(基本)
使い方ステップ
1. 仮想環境の作成
python -m venv myenv
myenv
というフォルダができ、そこが仮想環境になります。myenv
は仮想環境の名前(好きな名前でOK)
2. 仮想環境の有効化
Mac/Linux
source myenv/bin/activate
Windows(コマンドプロンプト)
myenv\Scripts\activate
Windows(PowerShell)
.\myenv\Scripts\Activate.ps1
有効化されると、ターミナルの前に (myenv)
という表示が出ます!
仮想環境を作るコマンドは、以下で入力します。
OS | 開く場所 | 説明 |
---|---|---|
Windows | 「コマンドプロンプト」または「PowerShell」 | スタートメニューで「cmd」または「powershell」と入力して開けます。 |
macOS | 「ターミナル」 | Spotlight検索(⌘ + Space)で「Terminal」と入力して開けます。 |
Linux | 「端末」 | 通常のターミナルアプリを使います。 |
コマンドプロンプト/ターミナルの開き方の詳細
Windowsの場合は、(※コマンドプロンプト)を開きます。
※コマンドプロンプト(Command Prompt)の起動方法…
**コマンドプロンプト(Command Prompt)**とは、Windowsに搭載されているテキストベースのインターフェースです。マウス操作ではなく、キーボードからコマンド(指示)を入力することで、パソコンを操作できます。
起動方法
- Windowsキー + Rを押す
- 「cmd」と入力してEnterを押す
または、スタートメニューで「コマンドプロンプト」と検索してもOK!
コマンド入力は間違えるとエラーになることもありますが、慣れると素早く作業ができる便利なツールです。
Macの場合は、(※ターミナル)を開きます。
※ターミナル(Terminal)の起動方法…
Macには「ターミナル(Terminal)」というアプリがあり、これを使うことで、コマンドを入力してシステムを操作できます。
起動方法
- **「Command ⌘ + Space」を押して、「Spotlight検索」**を開く
- 検索バーに「ターミナル」と入力してEnter
または、以下の手順でも開けます:
アプリケーション → ユーティリティ → ターミナル
※Linux のターミナルの起動方法…
Linuxでは「ターミナル」が、コマンド操作の基本です。ウィンドウの中でキーボード入力によりシステムを操作します。
起動方法
- 1,:
Ctrl + Alt + T
を同時に押す(多くのLinuxディストリビューションで共通) - 2,:アプリケーション一覧から「ターミナル」または「Terminal」で検索して開く
Ubuntu、Fedora、Debianなど、ほとんどのLinux環境に標準で搭載されています。
Macのターミナルと似た雰囲気で、コマンドの使い方もほぼ共通です。
※PowerShell の起動方法…(Windows)
PowerShell(パワーシェル)**は、Windowsに標準搭載されている、より高度な操作ができるコマンドラインツールです。見た目はコマンドプロンプトと似ていますが、より多機能で、プログラミング的な処理も得意です。
起動方法
1,スタートメニューで「PowerShell」と検索してクリック
2,Windowsキー + R を押して「powershell」と入力 → Enter
コマンドプロンプトと同様、キーボードからコマンドを入力して操作します。
たとえば Get-ChildItem
(=フォルダの中身を見る)など、PowerShell独自のコマンドもありますが、通常のコマンド(例:cd
やpython
など)も使えます。
ターミナル(コマンドプロンプト)を開き、”○○○(ツール名)”と打ち込むと呼ぶ出してくれます。
3. ライブラリを仮想環境にインストール
pip install requests
- これは「その仮想環境だけ」にインストールされます
実際の手順(例)
たとえば、以下のように作業用フォルダを作って、その中で仮想環境を作るのがおすすめです
mkdir myproject
cd myproject
python -m venv myenv
すると、myproject/myenv/
という仮想環境が作成されます。
ポイント
python -m venv myenv
は「myenvという名前の仮想環境を作る」という意味です。myenv
という名前は自由に変えてOK(例:.venv
やenv
などもよく使われます)
4. 仮想環境の無効化(終了)
deactivate
pipでライブラリをインストール
pip install ライブラリ名
このとき入れたライブラリは、仮想環境の中だけにインストールされます。
【ステップ4】作業が終わったら無効化(deactivate)
deactivate
これでシステム全体のPython環境に戻ります。
pipと仮想環境の関係まとめ
項目 | 仮想環境を使わない | 仮想環境を使う |
---|---|---|
pipの対象 | システム全体 | 仮想環境の中だけ |
バージョン競合 | 起きやすい | 起きにくい |
権限(Permission) | root権限が必要な場合あり | 権限不要でOK |
環境の整理 | やや煩雑 | プロジェクトごとに分離できて安全 |
仮想環境+pipでトラブル知らず!
仮想環境を使うことで、次のようなメリットがあります:
- ライブラリのバージョン衝突を防げる
- 他のプロジェクトに影響を与えない
- pipでのインストール・アンインストールが安心
- エラーが減る、環境が汚れない!
Pythonで本格的に開発を始めたい人は、まず「venv(仮想環境)+pip」の基本セットを覚えるとグッと楽になりますよ!