Python

最終更新日: 2023.10.16 (公開: 2023.10.13)

【Python入門】virtualenvとは?仮想環境を構築する方法を解説

【Python入門】virtualenvとは?仮想環境を構築する方法を解説

virtualenvとは、「Python」の仮想環境を構築するためのソフトウェアです。本記事では、virtualenvの基本的な知識をはじめ、virtualenvを用いた「Python」の仮想環境の構築方法や拡張的な使用方法を紹介します。

virtualenvとは、「Python」の仮想環境を構築するためのソフトウェアです。virtualenvを用いることで、ひとつのシステム内に、別のPython仮想環境を構築できます。

本記事では、virtualenvの基本的な知識をはじめ、virtualenvを用いた「Python」の仮想環境の構築方法や拡張的な使用方法を紹介します。具体的なコード例も示していますので、「Python」ユーザーの方はぜひ参考にしてください。

virtualenvとはどのようなソフトウェア?

はてなが書いてある吹き出し

virtualenvは、「Python」の仮想環境を作成するためのソフトウェアで、ひとつのシステム内に複数の独立した仮想環境を作成できるものです。

仮想環境を作ることで「Python」のプロジェクトごとに、バージョンが異なる「Python」の環境を作成できるため、互いに干渉しない開発ができます。virtualenvを活用すれば、プロジェクトの要件に応じた最適な環境が簡単に構築できるのです。

また、異なるプロジェクトで使用するライブラリやモジュールを混同することなく、仮想環境ごとに独自のライブラリとモジュールの管理もできます。つまり「Python」開発において起こりやすい、特定のパッケージを使用するために追加のパッケージが必要、というパッケージ間の依存関係を回避し、アプリケーションの信頼性を高められるのです。

virtualenvは、「Python」開発において非常に重要なツールだといえます。

そもそも仮想環境とは?

仮想環境とは、ひとつのコンピューター内で複数の独立した「Python」環境を作成できる仕組みのことです。各仮想環境は、それぞれ異なるPythonバージョンとパッケージのセットを持てます。

仮想環境の中では、その環境にインストールされたパッケージやモジュールにのみアクセスできます。仮想環境を構築することにより、異なるプロジェクトで使用するパッケージのバージョンを区別できるのです。

また、仮想環境を利用するとプロジェクト間で干渉しなくなるため、開発をより迅速かつ効率的に行えます。

「Python」の仮想環境とは、プロジェクトごとに独立した「Python」の実行環境を作成するための仕組みです。「Python」の仮想環境を構築することで、プロジェクト間で「Python」のバージョンやライブラリの依存関係が競合しないように管理できます。

このように仮想環境は、「Python」開発において重要な役割を果たしているのです。

Pythonコミュニティでは、仮想環境を活用した開発が推奨されており、実際に多くの開発者が仮想環境を利用した開発を行っています。とくに複数のプロジェクトを同時に扱う際や、それぞれのプロジェクトが異なるPythonのバージョンやパッケージを必要とする場合には、仮想環境の利用が極めて有用です。

これから「Python」を勉強する方は、virtualenvなどの仮想環境ツールについても理解を深めることをおすすめします。

virtualenvはPythonの仮想環境を作成、管理するためのツールで、各仮想環境は隔離されたPython環境を提供し、それぞれに異なるパッケージをインストールできます。これにより、プロジェクト間でのパッケージの競合を防ぎ、各プロジェクトの依存性を維持することが可能です。

virtualenvを用いて仮想環境を構築してから開発することで、プロジェクトごとに適切な依存関係を持つ環境を作り出し、開発効率を高められます。

Pythonの仮想環境であるvirtualenvとvenvの違い

「Python」には仮想環境を作成するために、標準ライブラリとしてvenvが用意されています。venvを使用すると「Python」のバージョン管理はできませんが、Python 3以前のバージョンでも開発が可能です。venvは「Python」標準ライブラリの一部であるため、「Python」をインストールすると自動的に利用できるようになっています。

virtualenvは、「Python」のバージョン管理を含む、より高度な機能を提供する外部ツールです。virtualenvを使用すれば、「Python」のバージョンごとに異なる仮想環境を作成できます。virtualenvの活用によりPython2やPython3といった、それぞれのバージョンに合わせた仮想環境での開発環境構築が可能です。

ただし、venvとは異なりvirtualenvは、「Python」の運営者から提供されているツールではないため、別途インストール作業が必要になります。

virtualenvはvenvと比較して機能が豊富であり、より高度な開発環境を構築したい場合には、virtualenvの利用が推奨されています。

virtualenvを使って「Python」の仮想環境を構築しよう

ラップトップPCを操作している手元

ここからは実際にvirtualenvをインストールして、virtualenvを用いた「Python」の仮想環境を作る工程を解説します。具体的には、以下の6つの工程です。

  1. virtualenvをインストールしよう
  2. 新しい仮想環境を作ろう
  3. 仮想環境を有効に使用
  4. Python3のパスを確認しよう
  5. 仮想環境を無効にしよう
  6. 仮想環境をディレクトリごと削除する方法

インストールから仮想環境の操作まで解説するので、ぜひ参考にしてください。

virtualenvをインストールしよう

以下は、WindowsとMacでvirtualenvをインストールする手順です。

まず、Windowsの場合はコマンドプロンプトを、Macの場合はターミナルを開いて以下のコマンドを入力します。

pip install virtualenv

次に、インストールが正しく行われたかどうかを確認するため、以下のコマンドを実行します。

virtualenv --version

上記のコマンドを実行すると、インストールされたvirtualenvのバージョンが表示されます。バージョンが表示されれば、virtualenvのインストールは正常に完了していることになります。

virtualenvのインストールが完了すれば、さまざまな操作が可能です。

新しい仮想環境を作ろう

新しい仮想環境を作成するために、まずは作業するPythonプロジェクトのためのディレクトリを作成します。次にコマンドプロンプト上で作成した作業用ディレクトリに移動して、virtualenvを使って新しい仮想環境を作成してください。

以下は、ターミナルまたはコマンドプロンプトを使用して、新しい仮想環境を作成する手順の例です。仮想環境名は任意の名前を指定できます。

まず、新しいディレクトリを作成するために、以下のコマンドを実行します。ディレクトリ名は任意のものでかまいません。

mkdir (任意のプロジェクト名)

次に以下のコマンドを実行して、先ほど作成したディレクトリに移動してください。

cd (作製した任意のプロジェクト名)

作成したディレクトリに移動したら、以下のコマンドを実行することで新しい仮想環境が作成できます。

virtualenv (任意のプロジェクト名)

仮想環境が正常に構築されていれば、新しいディレクトリが作成されます。作成されたディレクトリには、仮想環境に必要なPythonインタープリタや標準ライブラリ、pipが含まれます。

ディレクトリ内の様子

仮想環境を有効にしよう

仮想環境を作成できたら、以下のコマンドを実行して仮想環境を起動しましょう。ターミナルの場合は以下の通りです。

source myenv/bin/activate

Windowsの場合は、以下のようにactivateコマンドを使って、仮想環境を有効化します。

.\(virtualenvコマンドで作成した任意のプロジェクト名)\Scripts\activate

activateコマンドを実行すると、プロンプトの先頭に仮想環境名である、myenvが表示されます。上記の手順で新しく作成した仮想環境が有効化され、その環境でPythonパッケージのインストールや、開発が進めることが可能です。

仮想環境でPythonパッケージをインストールする場合は、以下のコマンドを実行しましょう。

pip install パッケージ名

たとえばnumpyパッケージをインストールするには、以下のように入力します。

pip install numpy

以上の手順で、virtualenvを使用して新しい仮想環境を作成し、必要なPythonパッケージをインストールしてください。

Python3のパスを確認しよう

仮想環境に入ったままでPythonコマンドを入力すると、仮想環境内の「Python」を参照します。しかし、仮想環境内に何もインストールしていない場合、デフォルトの「Python」のパスが参照されるケースがあります。

そこで、まずは仮想環境に入ったあと、実際に参照される「Python」のパスを確認しましょう。

最初に、仮想環境内で以下のコマンドを実行して、フルパスを確認します。

which Python3

このコマンドを実行すると、現在の仮想環境内で使用される「Python」のパスが表示されます。たとえば、以下のように表示された場合、

/home/user/env/bin/「Python」3

上記が現在の「Python」のパスです。

また、以下のコマンドを実行することでも、「Python」のバージョン確認ができます。

Python --version

このように、仮想環境内でどの「Python」が使用されているか確認することで、必要なパッケージをインストールする際に、誤った「Python」のバージョンを参照してしまうのを避けられるのです。

仮想環境を無効にしよう

仮想環境を無効にするには、activateコマンドで有効化した仮想環境を抜ける必要があります。具体的には、以下のコマンドを実行してください。

deactivate

上記のコマンドを実行するとターミナルのプロンプトが変わり、仮想環境を抜けたことが示されます。また、ターミナルに戻った状態で再度「Python」のバージョンと、その「Python」がどこにあるかを確認すると、仮想環境を有効化する前と同じ表示に戻るのです。

仮想環境を有効化した状態でコマンドを実行した場合は、仮想環境内の「Python」を参照しますが、仮想環境から抜けたあとはシステム全体の「Python」を参照します。

このように、仮想環境を使用すればシステム全体の「Python」環境に影響を与えずに、仮想環境ごとに異なる「Python」のバージョン確認やライブラリの利用が可能です。

仮想環境をディレクトリごと削除する方法

仮想環境をディレクトリごと削除するには、以下のコマンドを使用します。

rm -r 仮想環境名

仮想環境名は、削除したい仮想環境の名前に置き換えてください。上記のコマンドを実行すると、指定した仮想環境のディレクトリとその中身が完全に削除されます。

コマンドを実行しなくてもエクスプローラーで操作して削除すれば、同じようにディレクトリごと削除可能です。

削除を実行する前に、削除対象の仮想環境名を正確に指定し、重要なファイルが含まれていないかどうかの確認が重要です。誤って重要なファイルを削除しないよう、注意してください。

virtualenvをさらに拡張的に使う方法を知ろう

PCを使いながら業務の議論をしている二人

ここからは、virtualenvをより拡張的に使う方法を3つ紹介します。

  • 「Python」のバージョンを指定する方法
  • システム内のPythonパッケージ群を参照できるようにする方法
  • 仮想環境内にLinuxコマンドをインストールする方法

ひとつずつ確認していきましょう。

Pythonのバージョンを指定する方法

virtualenvを使って仮想環境を作成する際に、仮想環境内で使用する「Python」のバージョンを指定できます。たとえばPython 3.8を使用する仮想環境を作成する場合、以下のようにコマンドを入力します。

virtualenv -p /usr/bin/Python3.8 仮想環境名(任意の名称を指定)

上記の例では、-pオプションを使ってPython 3.8のパスを指定しています。任意で指定した仮想環境名の仮想環境を作成することになるのです。コマンドを実行すると、Python 3.8がインストールされた仮想環境が作成されます。

また、指定した「Python」のバージョンを確認するには、以下のコマンドを実行してください。

Python --version

このコマンドを実行すると、「Python」のバージョンが表示されます。指定したバージョンが表示されるかどうか、確認してください。

システム内のPythonパッケージ群を参照できるようにする方法

–system-site-packagesオプションを指定することで、仮想環境内でシステム内のPythonパッケージ群を参照できるようになります。このオプションを使用すると、「Python」の標準ライブラリや、システム全体で共通のPythonパッケージを利用可能です。

以下は、–system-site-packagesオプションを指定して仮想環境を参照する例です。

virtualenv --system-site-packages (仮想環境名)

上記のコマンドを実行すると、システム内のPythonパッケージ群が参照できます。

ただし、システム内のPythonパッケージ群を参照できるようになると、仮想環境とシステムの「Python」のバージョンやパッケージが競合してしまうケースもあります。注意を払いながら、適切に管理して利用しましょう。

仮想環境内にLinuxコマンドをインストールする方法

仮想環境内にLinuxコマンドをインストールする手順を解説します。

まず、作成した仮想環境に入ります。次に仮想環境のディレクトリにPATHを通しましょう。仮想環境に入っているときにのみ、mybinディレクトリ内のコマンドが実行できます。

echo 'export PATH="$HOME/(仮想環境名)/bin/mybin:$PATH"' >>(仮想環境名)/bin/activate

mybinディレクトリにコマンドをインストールします。例として、touch コマンドを mybin ディレクトリにインストールするコマンドを示します。

touch (仮想環境名)/bin/mybin/touch

以上の手順で、仮想環境内に新しいコマンドがインストールできます。また、仮想環境内で下記のコマンドを実行すると、mybinディレクトリ内にインストールした touch コマンドが実行されます。

touch example.txt

virtualenvでPythonのバージョンごとの仮想環境を作成しよう

ラップトップPCを使っている様子

本記事では、virtualenvを用いた「Python」の仮想環境の構築について解説しました。

仮想環境を利用することで、異なるバージョンの「Python」やパッケージを独立して利用でき、開発や異なるプロジェクトごとに独立した環境の構築ができます。また、virtualenvを利用すれば、仮想環境での「Python」開発が可能です。

記事を参考に仮想環境を活用し、「Python」の開発を効率化しましょう。

アクセスランキング 人気のある記事をピックアップ!

    コードカキタイがオススメする記事!

    1. 子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      2024.01.26

      子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      #プログラミングスクール

    2. 【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      2022.01.06

      【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      #プログラミングスクール

    3. 【未経験でも転職可】30代におすすめプログラミングスクール8選!

      2024.01.26

      【未経験でも転職可】30代におすすめプログラミングスクール8選!

      #プログラミングスクール

    4. 初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      2024.01.26

      初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      #JAVA

    5. 忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      2024.01.26

      忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      #プログラミングスクール

    1. 【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      2022.01.06

      【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      #プログラミングスクール

    2. 【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      2024.01.26

      【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      #プログラミングスクール

    3. 【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    4. 【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    5. 【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      2024.01.26

      【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      #プログラミングスクール