この記事の内容は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の使い方の説明は終わりです。とても便利だと感じて頂けたと思います。