IT・WEB・ゲーム業界の転職に強いR-Stone

転職コラム

venvでPythonの仮想環境を作ろう!作り方を分かりやすく解説

Python開発で重要な仮想環境ツールvenvは、開発効率を大きく向上させる強力な味方です。

プロジェクトごとに独立した環境を作成でき、パッケージのバージョン衝突を防ぎながら、チームでの環境統一も容易に実現できます。

Python 3.3以降に標準搭載されているため、追加インストール不要ですぐに始められます。

本記事では、venvの基本的な使い方から実践的な活用方法まで、ステップバイステップで解説します。

venvとは

venvは仮想環境作成ツールで、システムのPythonインストールとは分離された独立した環境を構築でき、プロジェクトごとに必要なパッケージを管理できます。

venvはPython 3.3以降に標準搭載され追加インストールなしで利用できます。

仮想環境の必要性

Pythonで複数のプロジェクトを開発する際、パッケージのバージョン衝突が問題になることがあります。

仮想環境を使えば、プロジェクトごとに独立した環境を作成でき、依存関係の衝突(利用パッケージのバージョンの食い違い)を避けられます。

また、本番環境との一貫性確保や新パッケージの安全なテストが可能になります。

仮想環境の種類

Pythonでは複数の仮想環境ツールが利用可能です。

venvで仮想環境に慣れてきたら、用途に応じてツールを使い分けるとよいでしょう。

virtualenvとの違い

日常的な開発ではvenvで十分ですが、複雑な要件の場合にvirtualenvが適している場合があります。

venvの魅力やできること

venvはインストール不要で身軽に仮想環境を構築できます。

プロジェクト単位で依存関係を管理できるため、異なるバージョンのライブラリが必要な複数のプロジェクトでも互いに影響せず共存できます。

また、requirements.txtを使用すればチーム全員が同じバージョンのパッケージを使用でき、環境の違いによる問題を防げます。

# requirements.txtの例

Django==4.2.20

requests==2.32.3

numpy==1.26.0

venv の作成と基本的な使い方

本項では、venvの具体的な使用方法をご紹介します。

venv を作成する方法

仮想環境の作成方法はOSによって若干異なります。

例えば、仮想環境「my_project」を現在のフォルダに作成する場合、次のように入力します。

# Windows: コマンドプロンプトやPowerShellへ入力

python -m venv my_project

 

# macOS/Linux: ターミナル(端末)へ入力

python3 -m venv my_project

実行すると、指定した名前のフォルダが作られ、仮想環境の必要ファイルが配置されます。

仮想環境の有効化・無効化

仮想環境を使うには、「有効化(アクティベート)」する必要があります。

# Windows: コマンドプロンプトの場合

my_project\Scripts\activate.bat

 

# Windows: PowerShellの場合

my_project\Scripts\Activate.ps1

# macOSやLinuxの場合

source my_project/bin/activate

仮想環境を無効化するには、どのOSでも

# 仮想環境の無効化

deactivate

を実行します。

環境ごとに異なるパッケージをインストールする方法

仮想環境が有効な状態でpipコマンドを使うと、パッケージを当該環境内だけにインストールできます。

# 単一パッケージのインストール

pip install requests

 

# バージョン指定でのインストール

pip install numpy==2.2.0

 

# 複数パッケージのインストール

pip install matplotlib pandas

使用しているパッケージ一覧をrequirements.txtへ保存しておくと便利です。

# 現在の環境のパッケージ一覧を保存

pip freeze > requirements.txt

 

# requirements.txtに基づきパッケージをインストール

pip install -r requirements.txt

開発用と本番用で分ける場合は、requirements-dev.txtとrequirements.txtのように複数ファイルで管理するとよいでしょう。

まとめ

Pythonの仮想環境作成ツールvenvは、複数プロジェクトの開発を効率的に進める強い味方です。

環境の分離、依存関係の管理、チームでの環境統一など、多くのメリットがあります。この機会にvenvを使って開発環境を整理してみましょう。