Pipenv による Web Application の構築

Web Application with Pipenv

Sat, 28 Sep 2019

以前は Python の構築は virtualenv で行なっていたが、他のプログラム言語と比べて構成が異なるのが気になって、Pipenv について調べてみた。

Pipenv インストール

anyenv を利用して pyenv をインストールする(python のバージョンは好みで)

$ anyenv install pyenv
$ exec $SHELL -l
$ pyenv install anaconda3-5.3.1
$ pyenv global anaconda3-5.3.1

pipenv をインストールする。—user をつけることでユーザーディレクトリに install される。mac の上記環境の python であれば $HOME/.local/bin にインストールされたが、環境により $HOME/Library であったり異なるらしい。パスが通っているか確認する。

$ pip install --user pipenv
$ pipenv --version

仮想環境

仮想環境はやはり作らないといけないらしい。プロジェクトのディレクトリを作り、python インタープリターをインストールする。

$ mkdir project1
$ cd projet1
$ pipenv --python 3.7.0

これで Python 3.7.0 のインストールと仮想環境の構築ができる。カレントディレクトリに Pipfile という設定ファイルが生成される。

仮想環境を有効にするには、pipenv shell で shell を起動するか、直接 pipenv run python <args> のように実行する。

構築された仮想環境のパスは —venv オプションで確認できる

$ pipenv --venv

Django インストール

pipenv install コマンドで Django をインストールする。 インストールされたパッケージの一覧は、pipenv run pip list で確認できる。

$ pipenv install django==2.2.5
$ pipenv run pip list
Package    Version
---------- -------
Django     2.2.5
pip        19.2.3
pytz       2019.2
setuptools 41.2.0
sqlparse   0.3.0
wheel      0.33.6

プロジェクトの作成は django-admin が使えるようになっているのでそちらで作成する。

$ django-admin startporject myproject

以下のようなディレクトリとファイルが生成される。

project1             
├── myproject
│  ├── manage.py
│  └── myproject 
│     ├── __init__.py
│     ├── settings.py
│     ├── urls.py
│     └── wsgi.py
├── Pipfile
└── Pipfile.lock

生成された manage.py により実行する(pipenv shell より)。

$ python manage.py migrate
$ python manage.py runserver

デフォルトでは host: 127.0.0.1 port: 8000 で実行されるので、変更する場合は python manage.py runserver 0:3000 などとする。

Loading...
Shigeru Kondou

近藤 茂 あまりむずかしいことはかけません。

  • concigel blog Powerd by gatsby-starter-personal-blog