2018年6月19日火曜日

pipenv を使おう

概要

pipenv は ruby で言うところの bundler です
Python には virtualenv というサンドボックスツールがありますが、それよりも簡単に使える印象があります
今回はインストール方法から簡単な使い方を紹介します

環境

  • macOS 10.13.5
  • docker 18.03.1-ce
  • conductor 1.0.0
  • Python 3.6.5

インストール

  • brew install pipenv

Mac を使っている場合は上記で OK です
pip がすでに使えるのであればそれでもインストールできます

  • pip3 install pipenv

pipenv コマンドが使えるようになっていれば OK です

使ってみる

とりあえず使ってみましょう
素直に公式のチュートリアルを進めます

初期化

  • pipenv install requests

これで requests ライブラリをインストールすることができます
かつ Pipfile が作成されます、いわゆる Gemfile です
中身は以下のようになっていました

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

[packages]
requests = "*"

[dev-packages]

[requires]
python_version = "3.6"

先ほどインストールした request の定義もあります

インストールしたライブラリを使う

  • vim main.py
import requests

response = requests.get('https://httpbin.org/ip')

print('Your IP is {0}'.format(response.json()['origin']))

実行する際は pipenv run を使います
いわゆる bundle exec です

  • pipenv run python3 main.py

これで pipenv でインストールしたライブラリを使うことができます

別のライブラリを追加してみる

Pipfile を編集してライブラリを追加してみます
以下のように packages ディレクティブの部分に追記しましょう

[packages]
requests = "*"
twitter = "*"

これで

  • pipenv install

すると twitter ライブラリがインストールされます

その他

  • bundle console 的な Repl

pipenv shell を実行した後 python3 を実行して Repl を使えばライブラリを使える状態で Repl が起動します

  • ライブラリがインストールされているディレクトリを確認する方法

内部的には virtualenv が作られているようです
そのパスを確認する方法は以下のコマンドで可能です

  • pipenv --venv

ここの lib/python3.6/site-packages あたりにインストールされたライブラリがあります

最後に

pipenv を使って Python のサンドボックス環境を作成してみました
Pipfile を使っていろいろできるのが個人的には好きです

これ以外にもいろいろな機能があるようです
http://pipenv-ja.readthedocs.io/ja/translate-ja/advanced.html

デプロイや脆弱性チェック、エディタ連携などこれだけで開発に必要なツールがすべて揃ってしまう感じです

参考サイト

0 件のコメント:

コメントを投稿