

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
pyvenvとは?
pyvenvは古いPythonの仮想環境を作る道具です。pyvenvを使うと1つのパソコンの中に複数のPython環境を作れて、プログラムごとに依存関係を分けられます。例えばあるプログラムはライブラリの特定のバージョンを必要としますが、別のプログラムは別のバージョンを必要とするとします。このとき仮想環境を分けておけば互いに干渉しません。
このガイドでは初心者の立場から、pyvenvの仕組みと基本的な使い方、そして現代のPythonでの取り扱い方を順番に解説します。
仮想環境の基本と役割
仮想環境は実行時の設定を分ける箱のようなものです。箱の中にはPython本体と、その箱専用のライブラリが入っています。箱を開くと外のPythonや外部のライブラリには影響を与えず作業できます。
歴史的な使い方の例
以下は歴史的な手順の例です。現代の方法では python -m venv を使うのが一般的ですが、pyvenv の仕組みを理解することでなぜ新しい方法が生まれたのかが分かります。
| 準備 | Python がインストールされていることを確認します。 |
| 作成 | コマンドラインで pyvenv envname と入力します。envname は任意の名前です。 |
| 有効化(Linux/macOS) | source envname/bin/activate を実行します。プロンプトが変化して仮想環境が有効になったサインです。 |
| 有効化(Windows) | 省略します。環境を利用するには Windows では別の手順が必要ですが本記事では扱いません。 |
| 確認 | python -V で現在使っているPythonのバージョンを確認します。pip list でその環境のライブラリを確認します。 |
| 非活性化 | deactivate を入力して通常の環境に戻します。 |
現代の代替手段と注意点
現代のPythonではpyvenvは非推奨とされています。代わりに python -m venv を使う方法が広く推奨されます。pyvenv の仕組みを知っておくと、なぜ新しい方法が必要なのかが理解しやすくなります。
新しい方法の例としては、 python3 -m venv envname や、 source envname/bin/activate のような手順が挙げられます。環境の作成と有効化の流れはほぼ同じですが、使うモジュールやスクリプトの名前が少し異なります。
よくある質問とトラブルシューティング
| Q1 | pyvenvとvenvの違いは何ですか? |
| A1 | venv は新しい公式の仮想環境作成モジュールです。pyvenv は古い道具で現在は非推奨です。 |
| Q2 | 仮想環境を削除するにはどうしますか? |
| A2 | envname ディレクトリを削除します。 |
実務での選択のヒント
自分の学習用や小さなプロジェクトでは python -m venv を最初に試してみてください。複数のプロジェクトを扱う場合は環境を分ける基本が身につきます。インストール時のメッセージをよく読み、依存関係が混ざらないよう気をつけましょう。
最後に、仮想環境を使う目的は他のプロジェクト間の依存関係の衝突を避け、再現性のある環境を作ることです。慣れてくるとコマンドの流れが自然に身についていきます。
本記事を読み終えたら、実際に自分の環境で pyvenv の手順を試してみてください。古いツールの歴史を知ることは、より新しい技術を理解する力にもなります。
pyvenvの関連サジェスト解説
- pyvenv.cfg とは
- pyvenv.cfg は、Python の仮想環境(venv など)を作るときに中にはいっている小さな設定ファイルです。仮想環境とは、特定のプロジェクトだけで使う独立した Python の場所のこと。これにより、別のプロジェクトが違うバージョンのライブラリを使っても互いに影響しません。pyvenv.cfg の役割は、仮想環境が「どの Python を基準に作られたのか」や「システムのサイトパッケージを使うかどうか」を、Python に教えることです。ファイルの主な中身としては、home、version、include-system-site-packages の三つがよく出てきます。- home: 仮想環境を作るときに使った Python のインストール場所のパスを示します。ここを読めば、元の Python がどこにあるのかが分かります。- version: 作成時の Python のバージョンを示します。これを見れば、仮想環境がどの Python の機能で動いているかを知ることができます。- include-system-site-packages: false か true かを示します。false なら仮想環境内だけのライブラリ、true ならシステムのライブラリも使えるという意味です。このファイルは通常、テキストエディタで直接編集する必要はありません。特別な事情がない限りは変更せず、そのまま使い続けるのが安全です。もし仮想環境を移動したり、削除したりする場合は、ファイルの場所情報が壊れないよう注意してください。
pyvenvの同意語
- venv
- Python標準の仮想環境を作成する公式機能。Python 3 に組み込まれており、コマンドは通常「python -m venv [ENV_DIR]」で利用します。仮想環境を作成すると、その環境内に独立したパッケージ空間が作られ、他のプロジェクトと依存関係が干渉しなくなります。
- virtualenv
- Pythonの仮想環境を作成するサードパーティツールです。pipでインストールして使い、pyvenvの代替として長く利用されてきました。環境作成の柔軟性が高い点が特徴です。
- pyvenvコマンド
- pyvenvを呼び出す古いコマンドです。Python 3.3〜3.7頃に使われましたが、現在は推奨されず廃止傾向にあります。代わりに「python -m venv」を使います。
- Python仮想環境作成ツール
- Pythonで仮想環境を作るツールの総称です。venv や virtualenv などを指すことが多く、pyvenvは過去の選択肢の一つでした。
- venvモジュール
- venv機能を提供するPython標準ライブラリのモジュールです。python -m venv の内部実装を担い、仮想環境を作成するコマンドの基盤となります。
- Python標準の仮想環境作成機能
- Python標準で提供される仮想環境作成機能の総称です。現在の推奨は「venv」を使うことです。
pyvenvの対義語・反対語
- グローバルPython環境
- システム全体にインストールされ、仮想環境を使わないPythonの状態
- システム全体インストールPython
- 1つのPythonを複数のプロジェクトで共有する、仮想環境を使わない状態
- 仮想環境なし
- 仮想環境を作成せず、既存のグローバル環境をそのまま利用する状態
- 非隔離のPython環境
- プロジェクトごとに依存関係が分離されず、他のプロジェクトと混ざる環境
- 全体共有のPythonインストール
- 全プロジェクトで1つのPythonインストールを共用する状態
- 単一共有インストール
- 1つのPythonインストールをすべての作業で共有する状態
- 隔離なしの実行環境
- 依存関係の分離がない、衝突しやすい実行環境
- グローバルデフォルトPython
- OSのデフォルトのグローバルPythonを指す状態。仮想環境を前提としない
- 仮想化されていないPython実行環境
- 仮想化機能を使わず、デフォルトのPython実行環境
- システムワイドPython
- OS全体で利用されるPythonインストールの状態
pyvenvの共起語
- venv
- Python標準ライブラリに含まれる仮想環境作成機能(venvモジュール)。新しいプロジェクトで仮想環境を作る際の基本ツールです。
- virtualenv
- venvより前から使われてきた外部ツールで、仮想環境を作成・管理します。現在はvenvが推奨される場面が多いです。
- activate
- 仮想環境を有効化するためのスクリプト。OSごとに異なるファイル名(activate、activate.bat、activate.ps1 など)があります。
- activate.bat
- Windowsで仮想環境を有効化するバッチファイル。
- activate.ps1
- PowerShellで仮想環境を有効化するスクリプト。
- bin/activate
- UNIX系などで仮想環境を有効化するためのスクリプトが格納されるbinディレクトリ内のファイル。
- Scripts/activate
- Windowsで仮想環境を有効化するスクリプトが格納されるScriptsディレクトリ。
- site-packages
- 仮想環境内にインストールされたパッケージが格納されるディレクトリ。
- pip
- 仮想環境内でパッケージを管理・インストールする標準ツール。
- pip_install
- パッケージを仮想環境内にインストールするコマンド(pip installと同等の意味)。
- requirements.txt
- プロジェクトの依存関係を列挙したファイル。仮想環境の再現性を高めます。
- venvモジュール
- Python標準ライブラリのvenvモジュール。仮想環境を作成・管理します。
- Python
- 仮想環境を構築する対象となるプログラミング言語。pyvenvはこのPythonの仮想環境機能の名称です。
- interpreter
- 仮想環境が指すPython実行ファイル(例: bin/python / Scripts/python)。
- PATH
- 仮想環境を有効化すると、Python実行ファイルやpipなどのパスが通り、コマンドが直接使えるようになります。
- reproducible_environment
- 依存関係を固定・再現可能にするための環境づくりの考え方。
- isolation
- 仮想環境による依存関係の分離。プロジェクト間の干渉を回避します。
- pyvenv非推奨
- pyvenvは公式には非推奨とされ、現在はrvn(venv)を使用することが推奨されています。
- PEP405
- Python Enhancement Proposal 405。仮想環境の標準化とvenvの背景となる提案です。
- OS互換性
- WindowsとUnix系で有効化スクリプトの場所や挙動が異なる点を整理します。
pyvenvの関連用語
- pyvenv
- かつて Python が公式に提供していた仮想環境を作成するツール。非推奨で、現在は python -m venv などの代替手段を使います。
- venv
- Python 標準ライブラリの仮想環境作成機能。python -m venv
で新しい仮想環境を作成します。 - virtualenv
- pyvenv より古い仮想環境作成ツール。柔軟性が高いが、現在は venv の普及で利用は減っています。
- 仮想環境
- 特定のプロジェクト用に独立した Python 実行環境。依存パッケージをプロジェクト間で分離します。
- site-packages
- 仮想環境内でインストールされた Python パッケージが格納されるディレクトリです。
- activate_unix
- Unix 系(macOS/Linux)で仮想環境を有効化する際に、
/bin/activate を source します。 - activate_windows_batch
- Windows で仮想環境を有効化するには
\Scripts\activate.bat を実行します。 - activate_powershell
- PowerShell を使って仮想環境を有効化するには Activate.ps1 を実行します。
- bin_dir
- Unix 系の仮想環境の実行ファイルが格納される bin ディレクトリ。
- scripts_dir
- Windows の実行スクリプトが入る Scripts ディレクトリ。
- python_interpreter
- 仮想環境内の Python 実行ファイルのパス(例: env/bin/python や env\Scripts\python.exe)。
- PATH
- 仮想環境を有効化すると環境変数 PATH の優先順が変わり、env の実行ファイルが先に参照されます。
- pip
- 仮想環境内のパッケージ管理ツール。依存パッケージのインストールや管理に使います。
- requirements_txt
- 依存関係を列挙したファイル。pip install -r requirements.txt で一括インストールできます。
- Pipfile
- Pipenv が使う設定ファイルで、依存関係や Python バージョンを定義します。
- Pipfile_lock
- Pipfile の依存解決結果を固定するファイル。再現性を高めます。
- pyproject_toml
- 現代的なビルド・依存関係管理の設定ファイル。Poetry などがこれを用います。
- Pipenv
- Pipenv は Pipfile を使って依存関係を管理し、仮想環境の作成・管理を統合的に行うツールです。
- Poetry
- Python の依存関係とパッケージ管理ツール。pyproject.toml を用いて依存関係を解決します。
- pipx
- グローバル環境を汚さずに Python アプリをインストール・実行するツールです。
- virtualenvwrapper
- 複数の仮想環境を作成・切り替えを便利にする補助ツールです。
- pyenv
- 複数の Python バージョンを切替えて管理するツールです。
- pyenv_virtualenv
- pyenv 用のプラグインで、pyenv 上に仮想環境を作成します。
- conda
- Python だけでなくデータサイエンス向けのパッケージを含む環境を管理するツールです。
- system_python
- OS に組み込まれているグローバルな Python。仮想環境とは別に管理されます。
- editable_install
- pip install -e で、開発中のパッケージを編集可能な状態でインストールします。
- dependencies_isolation
- 仮想環境はプロジェクトごとに依存関係を分離し、他プロジェクトへの影響を防ぎます。
- packaging_tools
- pip、setuptools、wheel など、パッケージの作成・配布を支えるツール群です。
- ensurepip
- Python に組み込まれた pip のブートストラップ機能。仮想環境作成時に自動で配置されることがあります。
pyvenvのおすすめ参考サイト
- pyvenvとは何か #Python - Qiita
- python venvの基礎基本 - Qiita
- Pythonの仮想環境(venv)とは?初心者のための完全ガイド
- Pythonの仮想環境を構築できるvenvとは?使い方について解説
- Pythonの仮想環境とは?初心者向けにわかりやすく解説 - アールストーン
- venvとは - IT用語辞典 e-Words



















