【发布时间】:2017-06-18 20:16:42
【问题描述】:
我在 EC2 (Ubuntu) 上创建了一个 Flask 应用程序,因此我可以使用我创建的预测模型从另一个系统发送两个数据点。没有 numpy 一切正常,但是一旦我将它添加回 Apache 就会引发内部服务器错误。所有模块都已安装并使用 pip --freeze 验证。该应用程序位于名为 flaskapp 的目录中。
这是我 wsgi 中的代码:
导入系统
sys.path.insert(0, '/var/www/html/flaskapp')
from flaskapp import app as application
以下是我对 Apache conf 文件所做的更改:
WSGIDaemonProcess flaskapp threads=5
WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi
<Directory flaskapp>
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
这是 Flask 应用程序代码:
#imports
import numpy as np
from flask import Flask, jsonify, request
import pickle as pickle
#Open Predicitve Model
pklmodel = 'model.pkl'
my_model = pickle.dumps(pklmodel, protocol=2)
app = Flask(__name__)
#Flask App Endpoint
@app.route('/api',methods=['POST'])
#Predicitions Function
def make_predict():
data = request.get_json(force=True)
predict_request = [data['Temp'],data['Pressure']]
predict_request = np.array(predict_request)
predGhi = my_model.predict(predict_request)
output = [predGhi[0]]
return jsonify(results=output)
#run app as webservice
if __name__ == '__main__':
app.run()
我错过了什么?
【问题讨论】: