====== 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の設定を行う - /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