

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
virtualenv とは?
virtualenv は Python の開発現場でよく使われる土台づくりツールです。1つのパソコンの中に複数の独立したPython環境を作ることができ、それぞれの環境には独自のパッケージやライブラリが入ります。これにより、異なるプロジェクトで異なるバージョンのライブラリを同時に使っても、互いに干渉しません。初心者の人にも分かりやすく言えば、作業場ごとに机と道具を分けて使うようなイメージです。
なぜ virtualenv が重要かというと、Python の世界では「あるプロジェクトで新しい機能を追加したい」「別のプロジェクトで古いバージョンのライブラリを使う必要がある」など、環境ごとに条件が変わることが多いからです。全てを1つの環境に詰め込んでしまうと、他のプロジェクトが動かなくなるかもしれません。虚構の例で言えば、ある文房具を別の場所で別の用途に使ってしまうと、本来の用途が崩れてしまうのと同じです。virtualenv を使えばその崩れを防げます。
virtualenv の仕組みはとてもシンプルです。新しい環境を作ると、その環境には独立した Python の実行ファイルと site-packages ディレクトリが用意されます。ここにはその環境専用のパッケージが入り、グローバルなPython環境には影響を与えません。プロジェクトAで pip でライブラリを入れても、プロジェクトBには影響しません。
以下では代表的な使い方を順番に紹介します。初心者でも手を動かせるよう、わかりやすく説明します。
まずは準備: virtualenv のインストール
まずは python を使っている環境に virtualenv をインストールします。ほとんどの場合は以下のコマンドでOKです。
<span>pip install virtualenv
もし Python3 を使っている場合は pip3 を使うこともあります。ケースバイケースで選んでください。
インストールが完了したら、次に新しい環境を作成します。
環境を作る: 新しい仮想環境の作成
新しい環境の名前を決めて作成します。ここでは例として名前を venv とします。
virtualenv venv
上手くいけばこのコマンドで現在のディレクトリに venv という新しいフォルダが作られ、中には独立した Python 実行環境とサイトパッケージが用意されます。
環境を有効化する
作成した環境を使うには「有効化」します。OS によってコマンドが違います。
Mac OS / Linuxの場合
source venv/bin/activate
Windowsの場合
venv\Scripts\activate
有効化されると、コマンドラインの前に環境名が表示されることが多くなり、その環境内でパッケージをインストールしたり実行したりできるようになります。
環境内での作業
有効化された状態で pip install を使って必要なライブラリを入れます。これらはすべてその仮想環境内の site-packages に入るため、他の環境には影響しません。
実務では requirements.txt というリストを使って依存関係を管理することが多いです。環境を再現する場合は以下のようにします。
pip freeze > requirements.txt(現在の環境の依存関係を保存)
pip install -r requirements.txt(同じ依存関係を再現)
環境を終了する
作業が終わったら deactivate コマンドで仮想環境を終了します。これによりコマンドラインは通常の環境に戻ります。
仮想環境を削除する場合
不要になった環境はそのフォルダごと削除すればOKです。例えば venv フォルダを削除すれば、その環境はもう使えなくなります。
virtualenv とは他の選択肢との違い
最近は Python 本体に組み込まれた venv も広く使われています。公式には python -m venv で作成します。virtualenv は古くからある強力なツールであり、複数の Python バージョンを同時管理したい場合に便利な拡張機能がある場合もあります。ですが初心者にはまず Python の公式ツールである venv から覚えるのも良い選択です。
まとめと実践のコツ
仮想環境を使うことの最大のメリットは、プロジェクトごとに依存関係を分離できる点です。これを習慣化すると、後で別のプロジェクトに移るときのトラブルが減ります。新しいプロジェクトを始めるときは、まず仮想環境を作成し有効化してから作業を始める癖をつけましょう。
| コマンド | 用途 |
|---|---|
| pip install virtualenv | virtualenv のインストール |
| virtualenv venv | 新しい環境の作成 |
| source venv/bin/activate | 環境の有効化(Mac/Linux) |
| venv\Scripts\activate | 環境の有効化(Windows) |
| deactivate | 環境の無効化 |
| pip freeze > requirements.txt | |
| pip install -r requirements.txt |
virtualenvの関連サジェスト解説
- python virtualenv とは
- python virtualenv とは、Python の開発を楽にするための仮想環境を作る道具の一つです。仮想環境とは、そのプロジェクトだけに使うソフトやライブラリを集めた小さな場所のことです。同じパソコンで複数のプロジェクトを作ると依存関係がぶつかることがありますが、仮想環境を使えば別々に管理できます。初心者には Python の世界に自分だけの部屋を用意するイメージがわかりやすいです。使い方の基本は三つです。作る、使えるようにする、終わらせる。この順番を覚えると良いです。まず仮想環境を作成します。コマンドは pip install virtualenv です。次に作りたい場所で virtualenv venv と打つと、venv という新しいフォルダができます。中には独立した Python と pip が入っています。環境を使えるようにするには OS によって違います。Mac/Linux なら source venv/bin/activate、Windows なら venv\Scripts\activate です。有効化されるとコマンドの先頭に (venv) が表示されます。ここで pip install パッケージ名 を使えばそのパッケージはこの仮想環境の中だけに入ります。終わるときは deactivate で元の環境に戻ります。実務では requirements.txt を使って依存関係を共有します。git を使う場合は仮想環境を入れず .gitignore に venv/ を追加します。なお Python にはビルトインの venv という機能もあり多くのケースでこちらで十分です。古い Python では virtualenv が役立つことがあります。
virtualenvの同意語
- virtualenv
- Pythonの仮想環境を作る古典的なツール。依存関係をプロジェクトごとに分離して管理できます。
- venv
- Python標準ライブラリに含まれる仮想環境作成機能。Python3.3以降で公式に提供され、手軽に仮想環境を作成可能です。
- pipenv
- 依存関係と仮想環境を同時に管理するツール。Pipfile に基づいて仮想環境を自動作成・切替します。
- virtualenvwrapper
- 複数の仮想環境を整理・切替する補助ツール。virtualenvの機能を便利に拡張します。
- pyenv-virtualenv
- pyenv のプラグインで、Python のバージョン管理と仮想環境を組み合わせて使う際に便利です。
- pyenv-virtualenvwrapper
- pyenv-virtualenv と virtualenvwrapper の組み合わせを可能にする統合ツールです。
virtualenvの対義語・反対語
- 実環境
- 仮想環境の対義語として挙げられる代表的な語。実際のOS上で動作しているPython環境で、全プロジェクトで共有されやすく、パッケージはグローバルに管理されます。依存関係の衝突リスクが高まりやすい一方、設定がシンプルなことが多いです。
- グローバル環境
- システム全体で共有されるPython環境のこと。特定のプロジェクトだけを切り離す仮想環境とは対照的で、複数プロジェクト間で依存関係が混ざりやすい点がデメリットです。
- システムPython
- OSに組み込まれているPython。仮想環境を使わずに利用する場合の代表例で、パッケージの追加は全体に影響します。
- 本番環境
- 実務での運用環境。仮想環境とは異なり、グローバルな設定がそのまま使われることがあるため、安定性と再現性の確保が課題になりやすいです。
- 実機環境
- 仮想化されていない、実機のOS上で動く環境。開発用の仮想環境とは対照的に、OS資源を直接使用します。
- 現実環境
- 実世界の環境を指す語で、仮想的な仮想環境に対する対義語として使われることがあります。
virtualenvの共起語
- 仮想環境
- Pythonの依存関係を他のプロジェクトと分離して管理する仕組み
- virtualenv
- Pythonのパッケージを隔離してインストールする外部ツール
- venv
- Python標準の仮想環境作成機能(組み込みモジュール)
- Python
- 仮想環境の対象となるプログラミング言語
- pip
- Pythonパッケージを管理・インストールするツール
- pip install
- 仮想環境内へパッケージをインストールする基本コマンド
- requirements.txt
- 依存パッケージとそのバージョンを列挙したテキストファイル
- activate
- 仮想環境を有効化するコマンド/スクリプト
- deactivate
- 仮想環境を無効化して元の環境に戻すコマンド
- activate.sh
- macOS/Linuxのbash/zsh用有効化スクリプト
- activate.bat
- Windows用有効化スクリプト
- bin/activate
- UNIX系で仮想環境を有効化するスクリプト
- Scripts/activate
- Windowsで仮想環境を有効化するスクリプト
- site-packages
- 仮想環境内にインストールされたライブラリの格納ディレクトリ
- --system-site-packages
- 仮想環境内からシステムのサイトパッケージを使えるようにするオプション
- pip freeze
- 現在の仮想環境にインストール済みパッケージ一覧を文字列で出力
- pip list
- インストール済みパッケージの一覧を表示するコマンド
- pyenv
- 複数のPythonバージョンを管理するツール
- pyenv-virtualenv
- pyenvと仮想環境を組み合わせるプラグイン
- virtualenvwrapper
- 複数の仮想環境を管理する補助ツール
- workon
- virtualenvwrapperで仮想環境を切り替えるコマンド
- pipenv
- パッケージ管理と仮想環境を一元管理するツール
- poetry
- 依存関係解決とパッケージ管理を行う現代的ツール
- pyproject.toml
- Poetry等の設定ファイル。依存関係を記述する
- requirements-dev.txt
- 開発用の依存関係を列挙したファイル
- wheel
- Pythonパッケージのビルド済みバイナリ形式
- setuptools
- パッケージの構築・配布を支えるツール
virtualenvの関連用語
- virtualenv
- Pythonの仮想環境を作成するための外部ツール。依存ライブラリを他のプロジェクトと分離して管理できる。
- venv
- Python標準ライブラリの機能として提供される仮想環境作成ツール。Python 3.3以降で利用可能。
- activate
- 仮想環境を有効化するためのスクリプト。UNIX系は source env/bin/activate、Windowsは env\\Scripts\\activate.bat など。
- activate.bat
- Windows向けの有効化スクリプト。仮想環境を有効化する。
- activate.ps1
- PowerShell用の有効化スクリプト。
- activate.csh
- C shell用の有効化スクリプト。
- deactivate
- 仮想環境を無効化して元の環境に戻すコマンド/スクリプト。
- VIRTUAL_ENV
- 現在有効な仮想環境のパスを示す環境変数。
- PATH
- 仮想環境の bin/Scripts を先に探すように PATH が変更され、実行ファイルの衝突を避ける。
- site-packages
- 仮想環境内にインストールされたPythonパッケージの格納場所。
- bin
- UNIX系の仮想環境ディレクトリ。実行ファイルが入っている。Windowsは Scripts ディレクトリ。
- Scripts
- Windowsの仮想環境ディレクトリ。実行ファイルが入っている。
- lib/pythonX.Y/site-packages
- 仮想環境内のPythonパッケージが格納されるディレクトリ(X.YはPythonのバージョン)。
- requirements.txt
- プロジェクトの依存関係を列挙するファイル。pip install -r で一括導入する。
- Pipfile
- Pipenvで使われる依存関係定義ファイル。
- Pipfile.lock
- Pipenvで依存関係の厳密なバージョンを固定するファイル。
- Pipenv
- 仮想環境の作成と依存関係管理を一本化するツール。
- Poetry
- 現代的なパッケージ管理・依存関係解決ツール。pyproject.tomlと連携して環境を管理。
- pyproject.toml
- 現代のパッケージ設定ファイル。依存関係やビルド設定を記述。
- pyenv
- 複数のPythonバージョンを切り替えるツール。仮想環境と組み合わせて使い分けることが多い。
- virtualenvwrapper
- 複数の仮想環境を簡単に管理するための補助ツール。
- system-site-packages
- 仮想環境作成時にこのオプションを有効にするとグローバルのsite-packagesも参照できる。
- editable install
- pip install -e . のように、ソースコードを直接参照して開発中のパッケージをインストールする方法。
- wheel
- パッケージの事前ビルド形式。仮想環境内でのインストールを高速化する。
- pip
- Pythonのパッケージ管理ツール。仮想環境内でパッケージをインストール・管理する。
- PyPI
- Python Package Index。公式の公開パッケージリポジトリ。
- pip-tools
- 依存関係を固定するファイルを生成するツール。pip-compile などを提供。
- pip list
- 現在の仮想環境にインストール済みパッケージの一覧を表示するコマンド。
- pip freeze
- 現在の依存関係を requirements.txt 形式で出力するコマンド。
- conda
- 別の仮想環境管理ツール。Conda環境は仮想環境の一形態だが、Python以外の依存も管理できる点が特徴。
- virtualenvとvenvの違い
- virtualenvは外部ツール、venvはPython標準ライブラリの機能。機能やサポート対象に差がある。



















