最近初めてpipenvを使い仮想環境とパッケージ管理を行えることを知ったので、メモ。
pipenvとは
仮想環境作成(venv)とパッケージ管理(pip)が合わさったもの
実行環境
- Windows10 Pro
- python 3.9.6
準備
pipenvインストール
pipコマンドでインストール
pip install --upgrade pip # pipアップグレード(必要に応じて) pip install pipenv
プロジェクトファイル作成
mkdir project cd project
仮想環境作成
使用するpythonバージョンに応じて選択(選択したバージョンのpythonがインストールされていること)
実行すると、~/.virtualenvs/project-XXXXXX
に仮想環境が作成され、プロジェクト内にPipfile
が作成される
# 仮想環境作成 pipenv --three # python3で作成 pipenv --two # python2で作成 pipenv --python 3.8 # バージョンを指定して作成
# project\Pipfile [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] [dev-packages] [requires] python_version = "3.9"
作成する場所を変更する場合
たとえば以下のように変更したい場合、それぞれ環境変数を設定
仮想環境を作成するディレクトリを変えたい
# .\venv\project-XXXXXX に作成 # WORKON_HOME set WORKON_HOME=%USERPROFILE%\venv
プロジェクト内に作成したい
# project\.venv\project-XXXXXX に作成 # PIPENV_VENV_IN_PROJECT set PIPENV_VENV_IN_PROJECT=true
Flaskプロジェクト作成
インストール
仮想環境にFlaskをインストールすると、Pipfile.lock
が作成されインストールしたときのバージョンや依存関係のパッケージが記載される。Pipfile.lock
は他のPCで同じ環境を再現する時などに使用。
# Flaskインストール
pipenv install flask
# Pipfile [packages] flask = "*"
アプリ作成
簡単に"HelloWorld"を返すアプリを作成
# project\app.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "HelloWorld!"
仮想環境で実行
仮想環境に入り、アプリを実行
# 仮想環境へ入る pipenv shell # Flask起動 (.venv)flask run * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) # ブラウザで'http://localhost:5000'にアクセス # 'HelloWorld' # 仮想環境を抜ける (.venv)exit