Python における Bundler のような管理ツールである Pipenv について(Bundler との比較)

Pipenv

Python でのパッケージ管理には pip が用いられますが、pip の内容や依存性を管理してくれるツールに Pipenv というものがあります。

Pipenv の使い方

Pipenv の使い方については公式ドキュメントが詳しいです(日本語です)。

Pipenv: 人間のためのPython開発ワークフロー — pipenv 2018.11.27.dev0 ドキュメント

Bundler との対比

説明は公式ドキュメントを読めばわかると思いますので、ここでは Bundler との対比表を載せたいと思います。これでイメージがつかみやすくなるのではないでしょうか*1

Bundler Pipenv
gem install pip install
bundle init pipenv --python 3.6.4
Gemfile Pipfile
bundle install pipenv install
bundle exec pipenv run*2

注意点

  • pipenv install されたものは ~/.local/share/virtualenvs/ 以下に入ります*3
    • ~/.local/share/virtualenvs/ 以下には削除された環境の分のディレクトリが残ってしまう?ようです
  • Pipfile の書式は TOML です
    • たとえば、awscli をインストールしたい場合は Pipfileawscli = "*" などのように書き加えます(下記参照)
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
awscli = "*"

[dev-packages]

[requires]
python_version = "3.6"

*1:Bundler を知っていることが前提になっています

*2:$ pipenv shell で virtualenv 環境に入ることもできる

*3:内部的には virtualenv を使う

Powered by はてなブログ