Python環境構築コース5/7
virtualenvの使い方
こちらでは、Python コマンドの virtualenv
について解説していきます。
virtualenvとは?
virtualenvは一つのシステム内に複数の開発環境(仮想環境)を作ることができます。
開発するアプリが変わった際に virtualenv
を使って仮想環境を作成するだけで、パッケージ、バージョンの変更をスムーズに行うことができます。
Pythonにおける仮想環境とは
Pythonを使用して開発を行う際には、用途に応じて専用の実行環境を作成し、環境を切り替えながら開発を行うことが一般的とされています。
Pythonにおける仮想環境とは、この一時的に作成する実行環境のことを意味します。
仮想環境を使用することで、システムで使うPython環境に影響を与えずにモジュールの追加や入れ替えが可能になります。結果、仮想環境ごとに異なるバージョンのPythonやモジュールを使い分け、システム内の環境を汚すことなく開発を進めることができます。
また、使用するPythonのバージョンやパッケージによって、Python3系では動いていたパッケージがPython2系では動かないなどの場面が多くあります。仮想環境を利用し、開発ごとにPythonやパッケージのバージョンを管理することで、こういったトラブルを防ぐこともできるようになります。
venvとvirtualenvの違い。
venvはvirtualenvがPython3.3から標準機能として取り込まれたもので、他からソフトウェアをインストールする必要がないため、簡単に仮想環境を作成管理することができます。
ではどのような違いがあるのでしょうか?
それはvenvとvirtualenvの違いはPython自身の管理ができるか否かです。
virtualenvのメリット
venvはPython 3.x.x 下に組み込まれた機能なので、Python自体のバージョン管理はできませんが、virtualenvはPython自体のバージョンも管理することができます。
virtualenvで作成した仮想環境はPythonの別のバージョンに切り替えることができます。
venvについて
venvについてはvenvの使い方というシナリオで詳しく解説していますので、そちらをご覧ください。
https://envader.plus/course/8/scenario/1075
virtualenvのinstall
Pythonにデフォルトで組み込まれているコマンドではないためインストールする必要があります。virtualenvをインストールするにはpip
コマンドを使用します。
sudo pip install virtualenv
pipコマンドはPythonのパッケージをインストールするために使用するコマンドです。pipコマンドについては別のシナリオにて解説しています。詳しくはそちらをご覧ください。
https://envader.plus/course/8/scenario/1072
仮想環境を利用するには主に
作成、起動、停止
の三つの手順が必要になります。
virtualenvコマンドで新しい環境の作成
virtualenvコマンドで新しい仮想環境を作成しましょう。
はじめに、専用のプロジェクトディレクトリを作成して移動します。
mkdir プロジェクトディレクトリ名
cd プロジェクトディレクトリ名
次に、プロジェクトディレクトリの直下にpython3 -m virtualenv 仮想環境名として新しく仮想環境を作成しましょう。オプション-p
を使用すればPythonのバージョンを指定することができます。
Pythonのバージョンを指定して仮想環境を作成する場合には、指定するバージョンのPythonがシステム上にインストールしてある必要があります。指定するバージョンのPythonがインストールされていない場合、エラーが発生するため注意が必要です。
python3 -m virtualenv 仮想環境名
or
python3 -m virtualenv -p 利用したいPythonのバージョン(例: python3.6) 環境名
以上で新しい仮想環境の作成ができました。
仮想環境の起動(activate)
仮想環境を作成しただけでは仮想環境を使用することはできません。
仮想環境を起動することで初めて利用できるようになります。作成した仮想環境を起動するには、以下のコマンドを実行します。
source 仮想環境名/bin/activate
source
コマンドの後に 仮想環境名/bin/activate とすることで、作成した仮想環境を起動することができます。
コマンドラインには以下のように先頭に仮想環境名が書かれていると思います。その状態の時が仮想環境を起動している状態です。
(仮想環境名)
pythonのバージョンを確認しましょう。
(仮想環境名) python -V
Python 3.x.x
仮想環境を起動すると、起動した仮想環境で設定されているバージョンのコマンドが実行されるようになります。
Pythonのパスの確認
仮想環境の外と中でそれぞれ python3 のパスを確認してみましょう。仮想環境を停止させるには、後述するdeactivate
コマンドを実行します。
(仮想環境名) which python3
/xxx/xxxxx/xxx/bin/python3
#仮想環境を停止する
(仮想環境名) deactivate
which python3
/xxx/bin/python3
それぞれ違うパスが表示されます。
仮想環境の停止(deactivate)
仮想環境を停止するときは deactivate
コマンドを実行することで仮想環境を終了することができます。
(仮想環境名) deactivate
実行した後に仮想環境名がコマンドラインの先頭から消えていれば、仮想環境を停止することができています。
まとめ
今回はvirtualenvについて解説しました。
virtualenvとvenvには明確な違いがあり、pythonのバージョンを変える場合があるときはvirtualenvを使うようにしましょう。
また、仮想環境を利用するときは
作成、起動、停止
の三つの手順があるのでこれらも覚えておきましょう。
問題を解くためには、十分な画面サイズのPC環境をご利用下さい。