この記事ではPythonのvirtualenvについて解説をしたいと思います。Pythonでは開発環境を仮想化できるvirtualenvというソフトウェアが用意されています。
新しいバージョンのモジュールやパッケージを試してみたい
今回の記事ではこのように思っている方に向けて、
- 【基礎】virtualenvとは
- 【基礎】virtualenvのインストール方法
- 【実践】virtualenvのコマンド
などの基本的な部分について解説をしていきます。Pythonのvirtualenvについて理解を深めていきましょう!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
virtualenvとは
virtualenvは一つのシステムの中に分離されたPythonの仮想環境を作ることができるソフトウェアです。コマンドで仮想環境を作ったり、仮想環境に出入りすることができます。
Pythonの仮想環境とは
Pythonの仮想環境という聞き馴染みの無い言葉が出てきましたね。Pythonの仮想環境はインストールしたモジュールやパッケージ、またPythonのバージョンごとに分離された環境のことです。
Pythonで開発をしていると「このパッケージを使うためには、また別のパッケージが必要になる。」などの依存関係が発生してきます。また、Python2系で動いていたパッケージはPython3系では動かないなど、それぞれのバージョン違いによる問題も出てきます。
このような問題を解決するために、Pythonの仮想環境を作ってソフトウェアごとにバージョンの違うパッケージを用意することで、同じシステム内の環境を汚すこと無く開発することが出来ます。少しだけ動かしてみたいパッケージがある場合にも、Pythonの仮想環境はとても役立ちます。
Pythonの仮想環境の種類
Pythonの仮想環境を作るソフトウェアは数種類あり、Pythonをよく使ってる人でも何を使えばいいのかわからなくなっている人がいます。
しかし基本的にはこの記事で紹介するvirtualenvと、venvと呼ばれる仮想環境を使えば良いでしょう。virtualenvはPythonの公式で配布されているパッケージではない(サードパーティ製)ですが、Python3.3より前であればこちらがよく使われていました。
Python3.3以降であればvenvという仮想環境がよく使われていて、これはvirtualenvが標準パッケージとしてPythonに組み込まれたものです。
インターネット上には様々なソフトウェアを使ってPythonの開発環境を仮想化する記事が上がっていますが、特にこだわりが無ければこの2つのソフトウェアを使うと良いでしょう。
virtualenvのインストール方法
virtualenvはサードパーティ製のソフトウェアなので、インストールをしなければ使うことが出来ません。このコマンドを使ってインストールをしておきましょう。
pip install virtualenv
ここで使っているpipはPythonのパッケージをインストールするためのコマンドです。詳しくはこちらの記事をご覧ください。
virtualenvのコマンド
それではvirtualenvで仮想環境を動かすために必要なコマンドについて解説をしていきます。
仮想環境の作成
それではまずはじめに仮想環境を作りましょう。こちらのコマンドをご覧ください。
virtualenv 環境の名前
このコマンドを実行させることで、仮想環境が作られます。このコマンドではマシンにインストールされているPythonのバージョンで仮想環境が作られますが、Pythonのバージョンを指定したい場合は、
virtualenv -p python3.7 環境の名前
このように「-p」オプションを付けてバージョンを指定することでそのバージョンで仮想環境が作られます。しかしこの仮想環境は作ったディレクトリに入るだけでは機能しません。
activateとdeactivateという作業が必要になります。
仮想環境の有効化
作った仮想環境で開発を始めるには仮想環境の有効化をする必要があります。まずは作った環境にcdコマンドを使って入りましょう。cdコマンドなどのディレクトリの移動については、こちらの記事をご覧ください。
実際にディレクトリを移動したところで、こちらのコマンドを実行してみましょう。
source 環境の名前/bin/activate
実行結果
(環境の名前) $
sourceコマンドで仮想環境のbinディレクトリにあるactivateというコマンドを実行させています。この動作を行うことで実行結果のように、仮想環境に入ることが出来ました。
仮想環境の無効化
次は仮想環境から出てみましょう。仮想環境から出るためにはこのコマンドを実行します。
deactivate
このコマンドを実行させるだけで、先程のactivateをする前の表示に戻ります。ここでPythonのバージョンと、そのPythonがどこにあるのかを調べてみましょう。
Pythonのバージョン
python -V
実行結果
Python (バージョン)
実行コマンドのフルパスを表示(場所を調べる)
which python
実行結果
(Pythonのコマンドのフルパス)
このコマンドをactivateする前としたあとで表示が変わることを確認してみましょう。表示されたバージョンやフルパスが変わっていれば仮想化は出来ていることがわかりますね。
まとめ
この記事ではvirtualenvでPythonの仮想化をする方法について解説しました。仮想化をする理由や方法については分かっていただけたでしょうか?
仮想化と聞くと難しいイメージがありましたが簡単なコマンドさえ覚えてしまえば難しくはありませんね。もしvirtualenvのコマンドを忘れてしまったときはぜひまたこの記事をご覧ください。