virtualenv とは?初心者向け使い方と基本の解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
virtualenv とは?初心者向け使い方と基本の解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢: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 virtualenvvirtualenv のインストール
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標準ライブラリの機能。機能やサポート対象に差がある。

virtualenvのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
16107viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2635viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1149viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1147viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
1023viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
983viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
969viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
965viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
859viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
857viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
795viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
792viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
740viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
699viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
692viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
635viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
597viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
589viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
588viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
529viws

新着記事

インターネット・コンピュータの関連記事