Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How to manage venvs in Python

2025年09月18日に「Dev.to」が公開したITニュース「How to manage venvs in Python」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Pythonの仮想環境(venv)は、プロジェクトごとにライブラリを独立管理し、環境の衝突を防ぐために使う。記事では、venvの作成、有効化、パッケージのインストール、requirements.txtへの出力、そして削除まで、一連の基本コマンドを解説した。

出典: How to manage venvs in Python | Dev.to公開日:

ITニュース解説

Python開発の世界へようこそ。システムエンジニアを目指す上で、Pythonは非常に強力なツールだが、その開発をスムーズに進めるためには「仮想環境」という概念の理解が欠かせない。これは、さまざまなプロジェクトで発生しがちなライブラリのバージョン衝突といった問題を解決し、開発環境を常にクリーンに保つための重要な仕組みだ。

例えば、あるプロジェクトではPythonライブラリAのバージョン1.0が必要で、別のプロジェクトでは同じライブラリAのバージョン2.0が必要になる、といった状況はよくある。もしこれらのライブラリをシステム全体に直接インストールしてしまうと、どちらかのプロジェクトがうまく動作しなくなる可能性が出てくる。仮想環境は、このような問題を解決するために、プロジェクトごとに独立したPython実行環境とライブラリ群を用意する「隔離された箱」のようなものだと考えると良い。各プロジェクトが自分の箱の中で必要なライブラリだけを、好きなバージョンで使えるようになるのだ。

仮想環境を作成するコマンドは非常にシンプルで、「python3 -m venv myvenv」と入力する。ここで「venv」はPythonに標準で搭載されている仮想環境を作成するモジュールを意味し、「myvenv」は作成する仮想環境の名前だ。この名前は任意で、プロジェクト名など分かりやすいものに設定することが推奨される。このコマンドを実行すると、「myvenv」という名前のディレクトリが作成され、その中に独立したPythonインタプリタやpip(Pythonのパッケージ管理ツール)などが格納される。これで、他のプロジェクトやシステム全体のPython環境に影響を与えることなく、このプロジェクト専用の環境が用意されたことになる。

仮想環境を作成したら、次にその環境を「アクティベート(有効化)」する必要がある。アクティベートは、「source myvenv/bin/activate」というコマンドで行う。このコマンドを実行すると、ターミナル(コマンドプロンプト)の表示が変わり、現在どの仮想環境がアクティブになっているかが一目でわかるようになる。アクティベートすると、それ以降の「python」や「pip」といったコマンドは、システム全体のPythonではなく、作成した仮想環境内のPythonやpipを参照するようになる。これにより、この仮想環境内でインストールされるライブラリは、全てこの「myvenv」の中に閉じ込められ、システム全体には影響を与えない。

プロジェクトを共同で開発したり、別のPCで同じプロジェクトを動かしたりする際、そのプロジェクトがどのようなライブラリを必要としているか、そしてそれぞれのライブラリがどのバージョンであるべきかを明確にすることが不可欠だ。この情報を記録しておくのが「requirements.txt」というファイルだ。仮想環境をアクティベートした後、「pip3 install -r requirements.txt」とコマンドを実行すると、このファイルにリストアップされている全てのライブラリが、指定されたバージョンで現在の仮想環境に一括でインストールされる。これにより、開発者は簡単に必要な環境を再現でき、環境構築の手間とエラーを大幅に削減できる。

開発を進める中で、新しいライブラリを追加でインストールしたり、既存のライブラリを更新したりすることがある。これらの変更を「requirements.txt」に反映させることで、他の開発者や将来の自分が、常に最新かつ正確な依存関係のリストを手に入れられる。「python3 -m pip freeze > requirements.txt」というコマンドは、現在アクティブになっている仮想環境にインストールされている全てのライブラリとそのバージョン情報を抽出し、それを「requirements.txt」ファイルに書き出すために使用される。この「>」記号は、コマンドの出力をファイルにリダイレクトする意味を持ち、これによってpip freezeの出力結果がrequirements.txtとして保存されるのだ。プロジェクトの依存関係を常に最新の状態に保つ上で、この作業は非常に重要だ。

プロジェクトが完了したり、もうその仮想環境が必要なくなったりした場合は、クリーンアップも容易だ。まず、「deactivate」と入力してアクティブな仮想環境を無効化し、システム全体のPython環境に戻る。その後、「rm -r myvenv」とコマンドを実行することで、「myvenv」ディレクトリとその中に含まれる全てのファイル、つまり仮想環境そのものを完全に削除できる。「rm -r」はディレクトリを再帰的に削除するコマンドだ。これにより、不要なファイルがディスクスペースを占有することなく、開発環境を常に整理整頓された状態に保つことができる。

これらの仮想環境管理のプロセスを習得することは、システムエンジニアとして効率的かつ堅牢なPython開発を行う上で不可欠なスキルとなる。プロジェクトごとの独立性を保ち、依存関係の衝突を避け、他の開発者との協力体制をスムーズにするために、仮想環境を積極的に活用してほしい。

関連コンテンツ