Virtualenvの使い方
Virtualenv
PythonのVirtualenvについてのメモです。ひとまず使えれば良いというレベルの理解でやってますので,もし間違い等あればコメントで指摘してもらえると嬉しいです。
Virtualenvとは?
PCにPythonをインストールして必要なライブラリをpipでインストールして…としていると,通常1つのマシンには1つの環境しか作れないものです。
しかし時として違うバージョンのPythonを使いたくなることがあると思います。例えばROSを使っているからPythonは2.7を通常使用しているけど,最新の深層学習の実装を試したいからPython3系を使い時などですね。
Virtualenvはそれを可能とする1つの方法です。Virtualenvは独立したPythonの環境をいくつも作ることができます。あるディレクトリ専用の環境を作る,というような使い方も可能です。
他にもDockerで独立な環境を作ってしまうという策もありますが,新しい環境を作る度に新しいコンテナを作り直す必要があるのでVirtualenvと比較すると少々手間かなと思います。
Virtualenvの使い方
Virutalenvの使い方は非常に簡単です。まずは仮想環境を作るためのパッケージインストールですが,Python3.3以降はvenvというパッケージが標準機能として組み込まれているため,特別な作業は一切不要です。
次に実際に仮想環境を作成していきます。 ここでは以下のようなユースケースを考えることにします。
主だった必要手順は次のたった3つだけです。
- 仮想環境を作る。
- 仮想環境をactivate状態にして仮想環境に入る。
- 仮想環境を抜けるときは状態をdeactivateにする。
まずはディレクトリを作ってcdします。
$ mkdir my_dir
$ cd my_dir
次のコマンドで仮想環境を作ります。
$ python3 -m venv my_env
次のコマンドで仮想環境に入ります。
仮想環境に入ったら好きなパッケージをpipでインストールします。
ここではnumpyのインストールを例にしました。$ source my_env/bin/activate $ pip3 install numpy
実際にPythonを起動しnumpyがimportできることを確認してみて下さい。
次のコマンドで仮想環境を抜けます。
$ deactivate
もう一度Pythonを起動すると,今度はnumpyのimportでエラーが出るでしょう。
再度仮想環境に入りたい場合は,2.の操作を行うだけです。
これで仮想環境が使えるようになりましたね。
終わりに
Python(3系)の仮想環境の使い方についてまとめました。仮想環境を使うことでPythonの環境構成が非常に柔軟になります。また,pipでインストールするパッケージをrequirements.txtで管理するとパッケージ管理も容易になります。
ただし,apt or brewでインストールするものについては管理できないので,その際はdockerの使用を検討する必要が出てくる点はご注意下さい。