Python | Django | Pipenvの使い方

Pythonとは,高レベルの汎用プログラミング言語であり,読みやすさとシンプルさで知られている.Web開発やデータサイエンス,人口知能,機械学習など幅広く利用されている.なお,レベルの高低はハードウェアに近いかどうかを意味しており,レベルが低いとハードウェアに近いことを意味している.
Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.
Pipenvとは,主にアプリケーションのユーザーと開発者に,簡単に作業環境を作れる方法を提供するためのツールである.また,Pipfile.lockを生成し,これを利用しビルドが常に同じ結果になるようにする.なお,ピップエンヴと発音する.
Pipenvの使い方
私がDjangoで開発をスタートする際には,開発の仮想環境にpipenvを利用する.常にデフォルトのグローバル管理での利用をしていたのだが,プロジェクト直下管理の方が有用のため,利用方法を以下に記す.
- グローバル管理 (default)
- プロジェクト直下管理 (PIPENV_VENV_IN_PROJECT=1)
グローバル管理 (default)
例えばDjangoでtodoアプリを開発をする際,以下のようにプロジェクトディレクトリをtodoにし,backendディレクトリでDjango, frontendディレクトリでReactなどを利用する.
todo/
├─backend/
└─frontend/backendディレクトリにて仮想環境を作成する際,以下コマンドを実行する.これにより,Pipfile, Pipfile.lockを作成する.
pipenv install以下コマンドを実行し,仮想環境に入る.
pipenv shell上記にて仮想環境を構築すると,以下を実行した場合に利用できなくなる恐れがある.理由はプロジェクト識別が絶対パスのためである.
- todoディレクトリやbackendディレクトリの場所変更
- todoディレクトリの名前を変更
- pipenv shellで起動すると別プロジェクトの環境に入る
プロジェクト直下管理 (PIPENV_VENV_IN_PROJECT=1)
グローバル管理 (default)でのpipenvを利用した場合の問題解決をするため,プロジェクト直下管理でのpipenvの利用を以下に記す.
backend/.envに以下コードを記載する.
PIPENV_VENV_IN_PROJECT=1backend/.gitignoreには以下コードを記載する.
.venv/
.envbackendディレクトリにて仮想環境を作成する際,以下コマンドを実行する.これにより,Pipfile, Pipfile.lockを作成する.
pipenv installそして,backendディレクトリに".venv"が作成され,仮想環境はここに固定される.
backend/
├─ .venv/
├─ Pipfile
└─ Pipfile.lock“.env"が作成されることにより,ディレクトリの名前変更や移動をしてもpipenvの仮想環境は利用可能となる.
Pipenvのコマンド一覧
以下コマンドは,仮想環境を削除する.
pipenv --rm以下コマンドは,仮想環境に入らずに実行する.
pipenv run以下コマンドは,仮想環境にDjangoをインストールし,PipfileとPipfile.lockを更新する.
pipenv install django以下コマンドは,仮想環境のDjangoをアンインストールする.
pipenv uninstall django以下コマンドは,仮想環境の場所を表示する.
pipenv --venv以下コマンドは,使用中のPython実行ファイルを表示する.
pipenv --py以下コマンドは,依存関係のツリー表示をする.
pipenv graph参照
以上



