LoginSignup
11
10

More than 3 years have passed since last update.

Python3とFlaskのインストール[環境構築まとめ]

Last updated at Posted at 2020-01-16

PythonのFlaskを最初から構築する機会があったので、環境構築のメモを残しておく。

pyenvを使ったPythonのインストールなどは以下で行なっていたので、最初にそれをやっていない人は以下をまずは行う。
Python 環境構築 mac windows

virtualenvのインストール

上記が終わったらvirtualenvをインストール。

※Virtualenvとは
Virtualenvは、Shell上でプロジェクト毎に個別の環境が構築出来るナイスなツールです。

pip install virtualenv

上記で動かない人はpip3で実行してみてください。自分はエイリアス設定をしているのでpipで動きます。

alias pip=pip3

flaskアプリケーションを作成する

適当なワーキングディレクトリに移動してから環境を作る。

コマンドはvirtualenv {app_name}

cd /Work/flask_app/

$ virtualenv testapp
Using base prefix '/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7'
New python executable in /Work/flask_app/testapp/bin/python3.7
Also creating executable in /Users/yoshi/Work/sample_python/testapp/bin/python
Installing setuptools, pip, wheel...
done.

完了すると以下のように指定した{app_name}でディレクトリ(プロジェクト?)が作成される。

$ ll
total 0
drwxr-xr-x   6 ys  staff  192  1 16 11:02 testapp/

中身はこんな感じ

$ ll testapp/
total 0
drwxr-xr-x   6 ys  staff  192  1 16 11:02 ./
drwxr-xr-x   4 ys  staff  128  1 16 11:02 ../
lrwxr-xr-x   1 ys  staff   80  1 16 11:02 .Python@ -> /usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/Python
drwxr-xr-x  18 ys  staff  576  1 16 11:02 bin/
drwxr-xr-x   3 ys  staff   96  1 16 11:02 include/
drwxr-xr-x   3 ys  staff   96  1 16 11:02 lib/

この環境を使用するようにアクティブ化する必要があります。OS XとLinuxでは以下のコマンドを実行。

$ cd testapp
$ . bin/activate

# 上記で動かなかったら
$ source bin/activate

(testapp) adminnoMacBook-Pro-4:testapp ys$

うまく起動できると({app_name})とターミナル上に出現して実行可能な状態になる。

Flaskのインストール

$ pip install Flask

Collecting Flask
  Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl (94kB)
     |████████████████████████████████| 102kB 1.8MB/s
Collecting Werkzeug>=0.15
  Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)
     |████████████████████████████████| 327kB 1.9MB/s
Collecting itsdangerous>=0.24
  Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting click>=5.1
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
     |████████████████████████████████| 81kB 2.4MB/s
Collecting Jinja2>=2.10.1
  Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)
     |████████████████████████████████| 133kB 3.4MB/s
Collecting MarkupSafe>=0.23
  Downloading https://files.pythonhosted.org/packages/ce/c6/f000f1af136ef74e4a95e33785921c73595c5390403f102e9b231b065b7a/MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl
Installing collected packages: Werkzeug, itsdangerous, click, MarkupSafe, Jinja2, Flask
Successfully installed Flask-1.1.1 Jinja2-2.10.3 MarkupSafe-1.1.1 Werkzeug-0.16.0 click-7.0 itsdangerous-1.1.0

無事に完了したか確認。

$ flask --version
Python 3.7.6
Flask 1.1.1
Werkzeug 0.16.0

Flask上で動作確認をしてみる

公式ドキュメントからサンプルプログラムを拝借。
クイックスタート¶

サンプルのPythonファイルは{app_name}の直下で大丈夫。

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

@app.route('/')
def hello_world():
    return "Hello Flask"

if __name__ == '__main__':
    app.run()
python sample_flask.py

動くかな....

動いた!

$ python sample_flask.py
 * Serving Flask app "test_flask" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [16/Jan/2020 11:33:03] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [16/Jan/2020 11:33:03] "GET /favicon.ico HTTP/1.1" 404 -

ちゃんとTOPページへのアクセスが200になっている。ブラウザで確認してみてもちゃんと表示された。

127_0_0_1_5000_と_test_flask_py_—_未設定__ワークスペース_.png

ただ、なぜかコンソールをみると* Environment: productionをみている。開発環境なんだからこのまま本番用に使うなよって以下のように警告が出ています。(現状は問題ないけど
WARNING: This is a development server. Do not use it in a production deployment.

気になる人は以下のコマンドを実行。

$ export FLASK_APP=app_name
$ export FLASK_ENV=development

(testapp) ys $ flask run

おわり。

11
10
1

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
11
10