はじめに
pythonの軽量モジュールである'venv'を使用した環境構築を説明します。
仮想環境を用いた開発をすることにより、プロジェクトで使用しているライブラリ・パッケージが明確化されます。
ローカルで開発をするとローカル環境に余計なライブラリや以前使ったライブラリが残っていたりして、他のマシンにデプロイした際にうまく動かないケースがあるので、仮想マシンなどを使用してプロジェクトを作成し、その中で開発をすると使用するライブラリやパッケージがはっきりし、他のマシン、チーム開発での際に共有もしやすくなる。
環境
- python3系
仮想環境の作成
※ python3系がインストールしていることを前提とします。
- macの場合
# 仮想環境作成
$ python3 -m venv name # nema: 環境名
# 仮想環境の有効化
$ source venv/bin/activate
# 仮想環境の無効化
$ deactivate
- windowsの場合
# 仮想環境作成
$ python -m venv name # nema: 環境名
# 仮想環境の有効化
$ source venv/Script/activate
# 仮想環境の無効化
$ deactivate
ライブラリのインストール
ここからはローカルでインストールするやり方と同じです。
ライブラリのインストール
例えば'numpy'をインストールする場合は以下のようにします。
※以下、シンボリックリンクを'python3 & pip3'で設定しているという前提で説明する。
※'python & pip'で設定している場合は以下の'pip3'を'pip'に変更して実行してください。
(venv)$ pip3 install numpy
インストール済みのライブラリ確認
(venv)$ pip3 list
ライブラリの削除
(venv)$ pip3 uninstall numpy
ライブラリ・パッケージの管理
設定ファイル[requirements.txt]を使用することにより、インストールされているライプラリ・パッケージのバージョン管理、及び一括インストールができます。
この設定ファイルを使用することにより、一つ一つライブラリをインストールする手間を省けます。
インストールされているライブラリのファイル化
(venv)$ pip3 freeze > requirements.txt
実行したディレクトリに'.txt'ファイルが作成される。
設定ファイルのインストール
(venv)$ pip3 install -r requirements.txt
この実行により、設定ファイルに書かれているパッケージを全てインストールすることができる。
###### Requirements without Version Specifiers ######
numpy
pandas
###### Requirements with Version Specifiers ######
numpy === 1.14.1
pandas === 0.22.0
まとめ
今回は仮想環境の'venv'をざっと簡単にまとめてみましたが、他にも仮想環境はいろいろあります。
例えば、pyenv, conda
これから、pythonの開発を行う際にお役に立てばと思います。。。