pipenvの使い方を解説!installや環境構築の方法

pipenvの使い方について

pipenvは、pip(パッケージ管理)とvenv(仮想環境構築)をまとめて使えるツールになります。
pip : パッケージのインストールや管理を行うためのツール
venv : 同じシステムの中に異なるPythonの環境を構築することができるツール。
pipenvを使用することで手元の環境を汚さずに開発することができる便利ツールです!

実行環境
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
目次

pipenvコマンド集

pipenvのインストール

$ pip install pipenv

仮想環境の作成

Pythonのバージョンを指定して作成すると、指定したバージョンの環境が作成される。

$ pipenv --python 3.9    // Python3.9の環境を作成する場合

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

$ pipenv install { $パッケージ名 }        // インストール

パッケージをインストールするとPipfileにパッケージが追加されます。

$ pipenv install pandas

またこのときにPipfile.lockが自動で生成され、実際にインストールされたパッケージの詳細なバージョンや依存パッケージの情報などが記録されます。これをもとに他PCで環境を再現することができます。
GitHubにプッシュする際はPipfilePipfile.lockも忘れないようにしましょう。

Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
pandas = "*"

[dev-packages]

[requires]
python_version = "3.8"

開発用パッケージのインストール

通常のパッケージのインストールの他に--devオプションを使うことで、開発環境のみで使うパッケージを別で管理しながらインストールすることができます。

$ pipenv install --dev autopep8 flake8
Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
pandas = "*"

[dev-packages]
autopep8 = "*"
flake8 = "*"

[requires]
python_version = "3.8"

requirements.txtからのインストール

requirements.txtでパッケージが管理されていた場合、まとめて仮想環境にインストールすることができます。

$ pipenv install -r ./requirements.txt

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

$ pipenv uninstall { $パッケージ名 }      // アンインストール

仮想環境の出入り

$ pipenv shell        //  仮想環境に入る
$ exit                //  仮想環境から出る

仮想環境に入らずに仮想環境を利用して実行

$ pipenv run { $コマンド }
$ pipenv run python main.py

スクリプトの登録

Pipfile
[scripts]
main = "python main.py"
test = "python test.py -t param1 -u param2"

Pipfileでスクリプトを登録することができます。開発中に実行するコマンドをスクリプトに記述しておくと非常に楽になります。

$ pipenv run main
$ pipenv run test

ファイルから仮想環境の再現

Pipfileを元に環境を再現する場合は以下のコマンドになります。

$ pipenv install
$ pipenv install --dev  # --devオプションで開発用のパッケージもインストールできます

Pipfile.lockを元に環境を再現する場合は以下のコマンドになります。Pipfile.lockは詳細なバージョンなども合わせて環境を再現することができます。

$ pipenv sync
$ pipenv sync --dev  # --devオプションで開発用のパッケージもインストールできます

仮想環境の削除

$ pipenv --rm
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次