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