Wakaran

分からんことが多すぎるので備忘録 どこかのだれかの役に立ったらいいですね

記事検索

← 一覧に戻る

2026/5/7python

Python使うときの仮想環境 venv


仮想環境ってなにさ

Pythonでなにかを作る時、だいたいはなんらかの外部ライブラリ(パッケージ)を使うことになる。だからインストールしなくちゃいけないのだけれども、なにも考えずインストールすると自分のPCの根幹に近い部分にインストールされるのです。
PCの根幹に近い部分にインストールされるとどこからでもそれを使う感じになるんですな。

たとえばこういう状況が起きます:

プロジェクト A → requests 2.28 が必要
プロジェクト B → requests 2.20 が必要(古いバージョン)

基本的には同じ PC で両方を動かそうとすると、どちらかのバージョンしか入れられないんですわ。

仮想環境ってのはこの問題を解決する仕組みです。プロジェクトごとに独立した Python 実行環境(インストール先)を作り、ライブラリのバージョンを分離して管理できるようになります。
プロジェクト A 用のライブラリのセット, プロジェクト B 用のライブラリのセット みたいな感じで分けて扱えるんですわ。

プロジェクト A の仮想環境 → requests 2.28
プロジェクト B の仮想環境 → requests 2.20

PC 全体の環境を汚さず、プロジェクトごとに必要なものだけを入れられるようになります。
消すときもプロジェクト単位で全部消せるんで、PCに無駄に累積してかないのです。


手段の候補

Python の仮想環境を作る手段はいくつかあるようです。
正直 venv と uv くらいしかちゃんと使ってないかも。poetryはちょっと前に1回使いましたかね。conda はなんかよくわかんなかった。

ツール特徴こんな人向け
venvPython 標準搭載。インストール不要とにかく手軽に始めたい
uv爆速・多機能。venv + pip + pyenv を一本化これから本格的に使いたい
poetry依存管理・パッケージ公開まで対応依存管理も仮想環境も一本化したい
condaPython 以外の C ライブラリも管理できるデータサイエンス
pyenvPython 自体のバージョンを切り替える複数バージョンを使い分けたい

今から始めるなら

  • 手軽に試したい・学習用 → venv
  • 本格的な開発 → uv

venv は Python に標準搭載されているため、インストールなしですぐ使えます。手っ取り早いです。uv はだいたいなんでもできるんじゃないですかね。ちゃんとチーム開発するなら uv がいいんじゃないかなと思います。


venv の使い方

仮想環境を作る

プロジェクトのルートディレクトリで以下のコマンドを打ってください。

python -m venv .venv

.venvっていう空のディレクトリが作成されます。
コマンド最後の .venv が仮想環境の名前(ディレクトリ名)。どんな名前でもいいんだろうけど慣習的に .venv が使われてるっぽいです。むしろこれしか見たことないかもしれん。
ここに色々このプロジェクト用のライブラリとかの情報が入ってくイメージですな。

仮想環境を有効化する

# Mac / Linux
source .venv/bin/activate

# Windows
.venv\Scripts\activate

有効化するとターミナルのプロンプトに (.venv) が表示されると思います。この状態でインストールしたパッケージはこの仮想環境にのみ入っていきます。

(.venv) $ pip install requests

仮想環境を無効化する

deactivate

依存パッケージを記録・復元する

チームで共有したり、別の環境で再現したいときは requirements.txt を使います。

# 現在インストール済みのパッケージを書き出す
pip freeze > requirements.txt

# requirements.txt からインストールする
pip install -r requirements.txt

.gitignore に追加する

仮想環境のディレクトリはリポジトリに含めません。
requirements.txt だけで環境構築に必要な情報は足りるのでね。

他の人とか他のPCで同じ環境を作るときは .venv をつくって有効化してから上記の pip install をすればいいのです。

.venv/

よくある流れ

# 1. プロジェクトディレクトリに移動
cd my-project

# 2. 仮想環境を作成
python -m venv .venv

# 3. 有効化
source .venv/bin/activate

# 4. パッケージをインストール
pip install requests

# 5. 依存を記録
pip freeze > requirements.txt

# 6. 作業が終わったら無効化
deactivate

あとがき

転職したての時は仮想環境の概念すらよくわかってなかったのです。なので記事として残しておきます。
conda つかったとき pip とごちゃごちゃになって触るの辞めた記憶ありますな...
もう1回触ってみようかな。

シェア

関連記事

  • python category image
    python2026/5/7

    Python パッケージ管理 uv

    uvについてざっくりまとめておきます。いざ調べるといろいろできるんすね。早いだけだと思ってた。uvだけわかってればpythonの環境はあんまり困らなそう。