Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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

sqrtxx
bitstar
インフルエンサーの広告マッチングサービスBitStarとマーケティングツールInfluencer Power Rankingを開発するベンチャー
https://corp.bitstar.tokyo/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした