Pipenvで始める!Python開発環境構築


はじめに

会社からPCが支給されて、キレイな環境を手に入れた!
いつまでもキレイな状態を保ち続けたい!
そうした思いから、解決方法を色々と調べたので備忘録としてまとめた。

目次

  • 概要
  • Pipenvとは
  • メリット
  • 使い方
    • Pipenvのインストール
    • 環境の作成
    • 環境をアクティベート切り替え
    • パッケージのインストール
  • まとめ

概要

Pipenvの導入から実際に使うまでの一連の流れをまとめた。

Pipenvとは

公式より一部抜粋

Pipenvは、手動でパッケージのインストールおよびアンインストールを行うのと同じように Pipfile に対してパッケージの追加および削除を行うのに加え、自動でプロジェクト用の仮想環境を作成し管理します。
...
Pipenvは主にアプリケーションのユーザーと開発者に、簡単に作業環境を作れる方法を提供するためのツールです。

メリット

公式の記述一部を自分なりに解釈してみた。

  1. pipvirtualenvを別々に使う必要がなくなる
  2. requirements.txtの代わりにPipfileおよびPipfile.lockを使う
  3. .envファイルを読み込むことで、開発ワークフローの能率が上がる

今までは、pyenvvertualenvを使って適宜環境の切り替えを行っていたが、時々切り替えを行わないままグローバルのpipでパッケージをインストールしてしまい、気がついたらグローバルが汚れてしまっていた…。

また、自分の開発環境を再現したいような場合もpip freeze > requirements.txtでパッケージの一覧をファイルに吐き出して、それをpip install -r requirements.txtとしてインストールする…別に悪いわけじゃないけどちょっと手間に感じるときもある。

上記の経験から個人的には1, 2が嬉しいポイント👍

使い方

Pipenvのインストール

筆者はpipを使ってインストールしているが、macユーザーならbrewでもいいかもしれない。

$ pip install pipenv
or
$ brew install pipenv

上記以外のインストール方法はここを参考にするといい。

環境の作成

今回は普段使っているPythonのバージョンで環境を作成したいので、自身が使っているPythonのバージョンを確認する。

$ python3 -V
Python 3.7.3

次に、Pythonのバージョンを指定して環境を作成する。
ここでは、先程出力されたPython 3.7.3(人によって異なる)とする。
※既にPipfileが存在した場合はその中に記述されている情報を元に環境が作成される

$ pipenv install --Python 3.7.3

以下のようにすれば、それぞれPython2系と3系で環境を作ることができる。

$ pipenv --three
$ pipenv --two

すると、カレントディレクトリにPipfileが作成され指定したバージョンのPythonが記述されていることが確認できる。

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

[dev-packages]

[packages]
python = "*"
3-7-3 = "*"

[requires]
python_version = "3.7" <====これ

環境をアクティベート切り替え

いま作成した環境に入るには以下のようにする。

$ pipenv shell

環境を有効化するとプロンプト($)の左側にカレントレィディレクトリ名が表示されるはず。

逆に環境から出たい場合は以下のようにする。

(test_env)$ exit

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

$ pipenv install requests

先程作成されたPipfileの中身が書き換わっていることが確認できる。

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

[dev-packages]

[packages]
python = "*"
3-7-3 = "*"
requests = "*"

[requires]
python_version = "3.7"

アンインストールは以下の通り。

$ pipenv uninstall requests

まとめ

とりあえず、上記にまとめた内容でなんとかなりそう。

参考