Raspberry Pi & Python 開発ブログ ☆彡

Raspberry PiとPythonの基本的な使い方をわかりやすく解説。初心者、入門者必見!!

Pipenvで仮想環境を作成する

pipenv

この記事の内容はRaspberry Pi 4と3の両方で動作確認済みです

ブログ管理者のP.Hです!

今回は、Pipenvの使い方を紹介したいと思います。pipのパッケージ管理とvirtualenvの仮想環境の機能が連動してくれますので、とても便利です。開発時には必須のツールになります。

それでは、Pipenvの使い方を紹介します。

Pipenvのインストール

インストールは簡単です。pipを使用します。インストール完了後、再起動します。

$ pip install pipenv

プロジェクトフォルダの作成

下記コマンドでプロジェクトフォルダを作成します。その後、プロジェクトフォルダに移動します。 ※これ以降の操作はプロジェクトフォルダに移動した状態で行ってください。

$ mkdir test
$ cd test

仮想環境の作成

上記で作成したプロジェクトフォルダ内に仮想環境を作成します。PIPENV_VENV_IN_PROJECTの環境変数をtrue設定にすると、カレントフォルダに仮想環境が作られる設定になります。pipenvの --pythonオプションでpythonのバージョンを指定できます。

$ export PIPENV_VENV_IN_PROJECT=true
$ pipenv --python 3

パッケージのインストール

作成した仮想環境にパッケージをインストールします。作成した仮想環境のみにパッケージをインストールする場合は --devオプションを付けます。--devオプションを付けないと、通常のインストールになってしまいます。

$ pipenv install --dev pyserial

パッケージのインストールを行うと、PipfileとPipfile.lockファイルにインストールパッケージの情報が書き込まれます。
※install でパッケージ名を間違えた場合、例えばpyserialをpiserialと間違えた場合、一度pipenv uninstall piserialコマンドを実行しないと、毎回エラーが発生する場合があります。

仮想環境でpython実行

まず、仮想環境をアクティベート(有効にする)します。

$ pipenv shell

これで、アクティベートできたので、pythonを実行します。

(user)$ python --version

仮想環境の削除

下記コマンドで仮想環境を削除します。

$ pipenv --rm

Pipenvの便利機能

インストールパッケージの確認

インストールパッケージの確認ができます。

$ pipenv graph

仮想環境の復元

パッケージのインストール情報等が記載されているPipfileとPipfile.lockをコピーします。
コピー元仮想環境のPipfileとPipfile.lockファイル ⇒ 新しい仮想環境フォルダへ
その後、新しい仮想環境フォルダに移動し、下記コマンドを実行します。

$ pipenv install --dev

or

$ pipenv sync --dev

pip install を使うと、Pipfileを使用して、復元します。pip syncコマンドを使用すると、Pipfile.lockを使用して復元します。Pipfile.lockはパッケージの細かいバージョンも管理していますので、完全に同じ仮想環境を作りたい場合は、syncコマンドを使ったほうが良いでしょう。

requirements.txtを使用してパッケージインストール

今まで、virtualenvでパッケージ管理していてrequirements.txtがある場合は、下記コマンドで一括インストールができます。

$ pipenv install -r ./requirements.txt

コマンドのスクリプト化

Pipfileファイルを開き、[scripts]を追加することにより、コマンドをスクリプト化できます。

‥‥‥
‥‥‥
[scripts]
ver = "python --version"

いままでは、pipenv shell ⇒ python --versionとしていたものが、pipenv run ver で実行できるようになります。

$ pipenv run スクリプト名

仮想環境にログインせずに実行

1回だけ実行したい等、わざわざpipenv shellを実行するのが面倒な時は、runコマンドを使用することで、ログインせずに実行することができます。

$ pipenv run python --version

おまけ : blackのインストール

ソースコードの自動整形ツールのblackですが、pipenvでインストールを行うとエラーになってしまいました。 どうやら--preというオプション(pre-releaseバージョンのパッケージをインストールする)を付けるとインストールができます。 

$ pipenv install --pre --dev black

以上でPipenvの使い方の説明は終わりです。とても便利だと感じて頂けたと思います。