Pipenvについて
Pythonの仮想開発環境を構築してくれるツールです。
内部でpipの機能とvenv(virtualenv)の機能を持っているため、使い方が似ています。
pipとは
Pythonのパッケージ管理を行うツールです。
パッケージのインストール、インストール済みパッケージの一覧表示、
パッケージのアップグレードを行う機能等を備えています。
venv(virtualenv)とは
Pythonの仮想環境を作成するツールです。
仮想環境は、作成目的のソフトウェア専用の開発環境を用意することです。
もし、仮想環境という概念がなかったら、複数のソフトウェアを作成するにあたり、
一つの開発環境で、作成するソフトウェアに関連する全てのパッケージを管理しなくてはなりません。また、Pythonそのもののバージョンアップにより、ソフトウェアが動かなくなってしまう可能性も出てきます。そのために別のPCを用意するのは理にかなっていません。
そこで、1台のPC内で作成するソフトウェアごとに開発環境を用意してあげれば、そのソフトウェア開発に用いるパッケージやバージョン管理がわかりやすくなります。
venvは、同じ操作でもOSによりコマンドが異なります。
pipenvは、OSが異なっても同じコマンドで同じ操作ができます。
Pipenvのインストール
pipからインストールできます。
pip install pipenv
仮想環境の作成
下記のコマンドを入力します。
pipenv install --python
仮想環境は~/.local/share/virtualenvs/配下に作成されます。
指定のディレクトリに仮想環境を作成したい場合は、下記環境変数を変更します。
windowsの場合はexportをsetに変えてください。
export PIPENV_VENV_IN_PROJECT=true
例えばprojectというディレクトリを作成した場合、
まずはターミナル又はコマンドプロンプトで作成したディレクトリに移動した後、
仮想環境の作成コマンドを入力することで、projectフォルダ内に仮想環境が作成されます。
パッケージのインストールは下記を実行します。
pipenv install [パッケージ名]
pipfile
仮想環境を作成するとpipfileという名前のファイルが作成されます。
このファイルにインストールしたパッケージが記録されます。
別のPC環境に同一の仮想環境を構築したい場合、このファイルを別のPC環境にコピーし、
下記インストールコマンドを実行します。
pipenv install
すると、pipfileに記載された内容でパッケージがインストールされます。
よって、このファイルをやり取りすることで同一のパッケージがインストールされた開発環境を簡単に作成することができます。
pipfile.lock
pipfileを基にインストールを行うと、インストールされるパッケージのバージョンは最新のものがインストールされます。
場合によっては、バージョンもそれぞれの環境で同じバージョンをインストールしたい場合があると思います。
その場合は、pipfile.lockを使用してインストールを行います。
pipfile.lockはパッケージのバージョンが記録されています。下記のコマンドを実行します。
pipenv sync
開発環境を別のPCに構築するとき、pipfileからだと最新バージョンで構築され、
pipfile.lockだと同一のバージョンで構築されます。
仮想環境の削除
下記コマンドで仮想環境の削除ができます。
pipenv --rm