Flaskを使ってオープンシフトアプリケーションを作成しようとしています。私はオープンシフトwebsiteの指示に従って自分のアプリケーションをセットアップすることができました。しかし、私はflask_restfulを使いたいと思っています。OpenshiftでFlask_Restfulを使用するとエラーが発生する
私はvirtualenvを作成して、flask_restfulをインストールしました。 Flask_restfulウェブサイトのexampleを使用して、サンプルコードをコピーしてflaskapp.pyに貼り付けました(openshift example参照)。またFlask-RESTful == 0.315をrequirements.txtに追加しました。
私はpython wsgi.pyを実行することができ、それは私のマシンでローカルに正常に実行されました。私は期待している結果を得ることができました。私は、これらの変更をオープンシフトにプッシュすると、スムーズに動作することを期待していました。しかし、それは私に500内部サーバーエラーメッセージを与えませんでした。ここでは、あなたのアイデアを与えることを
は私のファイル
requirements.txt
Flask==0.10.1
Flask-RESTful==0.3.5:
flaskapp.py
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
wsgi.py
の一部です の#!/usr/bin/python
import os
#virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
#
# IMPORTANT: Put any additional includes below this line. If placed above this
# line, it's possible required libraries won't be in your searchable path
#
from flaskapp import app as application
#
# Below for testing only
#
if __name__ == '__main__':
from wsgiref.simple_server import make_server
httpd = make_server('localhost', 8051, application)
# Wait for a single request, serve it and quit.
#httpd.handle_request()
httpd.serve_forever()
ログ:
192.69.20.2 - - [30/Nov/2016:15:40:04 -0500] "GET/HTTP/1.1" 500 637 "-" "Wget/1.15 (linux-gnu)"
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] mod_wsgi (pid=411796): Target WSGI script '/var/lib/openshift/583f10ac2d5271154f00001d/app-root/runtime/repo/wsgi.py' cannot be loaded as Python module.
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] mod_wsgi (pid=411796): Exception occurred processing WSGI script '/var/lib/openshift/583f10ac2d5271154f00001d/app-root/runtime/repo/wsgi.py'.
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] Traceback (most recent call last):
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] File "/var/lib/openshift/583f10ac2d5271154f00001d/app-root/runtime/repo/wsgi.py", line 15, in <module>
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] from myapp import app as application
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] File "/var/lib/openshift/583f10ac2d5271154f00001d/app-root/runtime/repo/myapp.py", line 1, in <module>
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] from flask import Flask
[Wed Nov 30 15:40:13 2016] [error] [client 127.5.221.1] ImportError: No module named flask
192.69.20.2 - - [30/Nov/2016:15:40:13 -0500] "GET/HTTP/1.1" 500 637 "-" "Wget/1.15 (linux-gnu)"
setup.py? –
質問にログを追加しました。 – Lance
フラスコという名前のモジュールはありません。私のrequirement.txtまたはvirtualenvに何か問題がありますか? – Lance