LoginSignup
60
60

More than 5 years have passed since last update.

Flask を触ってみる + Heroku で動かす

Last updated at Posted at 2014-12-06

Python を用意する

version は 2 系の最新版を用いる.
Python のバージョン管理には pyenv, ディレクトリごとの環境分離を virtualenv を使う.
Mac を使っているので brew より,

brew install pyenv
brew install pyenv-virtualenv

でインストール.

$ pyenv install -l | grep 2.7
  2.7
  2.7-dev
  2.7.1
  2.7.2
  2.7.3
  2.7.4
  2.7.5
  2.7.6
  2.7.7
  ironpython-2.7.4
  jython-2.7-beta1
  jython-2.7-beta2
  stackless-2.7-dev
  stackless-2.7.2
  stackless-2.7.3
  stackless-2.7.4
  stackless-2.7.5
  stackless-2.7.6

最新版は 2.7.7 のようだ. インストールする.

pyenv install 2.7.7

なお自分は古い pyenv を使ったため以下のエラーが起きた.
Mac の pyenv で 2 系を入れるときに checksum エラーが起きたときの対処法 - Qiita
バージョンを変えて確認

$ pyenv shell 2.7.7
$ python --version
Python 2.7.7

OK.

Flask を導入する

まず開発ディレクトリに移動.

cd path/to/proj
virtualenv venv27

activate (source or . を忘れずに)

source venv27/bin/activate

Flask, gunicorn の install

pip install Flask

かくにん

$ pip list
Flask (0.10.1)
itsdangerous (0.24)
Jinja2 (2.7.3)
MarkupSafe (0.23)
pip (1.5.6)
setuptools (3.6)
Werkzeug (0.9.6)
wsgiref (0.1.2)

開発する

Hello World!

hello.py を作る.

hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

ローカルで走らせる.

$ python hello.py
 * Running on http://127.0.0.1:5000/

http://127.0.0.1:5000/ にアクセスすると表示される:congratulations:

 2014-12-06 12.03.03.png

Heroku で動かす

gunicorn を入れる

pip install gunicorn

かくにん

$ pip list
Flask (0.10.1)
gunicorn (19.1.1)
itsdangerous (0.24)
Jinja2 (2.7.3)
MarkupSafe (0.23)
pip (1.5.6)
setuptools (3.6)
Werkzeug (0.9.6)
wsgiref (0.1.2)

Procfile を用意する

procfile · herokaijp/devcenter Wiki

web: gunicorn hello:app --log-file -

requirements.txt を書き出す

pip freeze > requirements.txt

.gitignore を作る
virtualenv のディレクトリ (venv27) を除いておく.

*.pyc
*.pyo
venv27

git に commit し, push する.

git add .
git commit -m 'Hello World!'
git push origin master

heroku に login し, push する.

heroku login
heroku create
git push heroku master

Web のインスタンス追加

heroku scale web=1

開く

heroku open

 2014-12-06 12.35.59.png

めで鯛

Reference

60
60
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
60