ユーザ用ツール

サイト用ツール


flask

flask

python3のwebframework,wsgiをインターフェースとすることができる。 wsgiの設定をしておく
(取りあえず loadmodule して AddHandler wsgi-script .py .wsgi すれば良いはず)

install

pip3 install flask

作成方法

flaskをimportする

wsgiから呼び出す最小構成

wsgiから呼び出すため flaskオブジェクトを application という名前の公開オブジェクトとする

例1(アプリファイルとラッパ)

mywsgi.py (url:xxx.com/wsgi/mysgi.py/)

import sys
sys.path.insert(0, '/var/www/wsgi')
from myapp1 import xapp as application

myapp1.py (urlではエラーになる)

from flask import Flask
xapp = Flask(__name__)
@xapp.route("/")
def aaa():
    return "hello"

例2(アプリファイルのみ)

myapp2.py (url:xxx.com/wsgi/myapp2.py/)

from flask import Flask
application = Flask(__name__)
@application.route("/")
def bbb():
    return "hello"

subprocess

flaskからsubporcess.runで実行する際、文字列がasciiでないとエラーが出る場合apache2の設定を行う

  1. /etc/apache2/envvar

の設定を確認する([wsgi])

エラー

実行するとエラーが出ることが有る(/var/log/apache2/error.log)

RuntimeError: implement_array_function method already has a docstring

[numpy]の問題らしい。スレッドを使わないとよい? 
https://github.com/numpy/numpy/issues/14384

flask.txt · 最終更新: 2020/10/19 09:08 by nabezo