2016-11-30 13 views
0

Flaskを使ってオープンシフトアプリケーションを作成しようとしています。私はオープンシフトwebsiteの指示に従って自分のアプリケーションをセットアップすることができました。しかし、私はflask_restfulを使いたいと思っています。OpenshiftでFlask_Restfulを使用するとエラーが発生する

私はvirtualenvを作成して、flask_restfulをインストールしました。 Flask_restfulウェブサイトのexampleを使用して、サンプルコードをコピーしてflaskapp.pyに貼り付けました(openshift example参照)。またFlask-RESTful == 0.315requirements.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)" 
+0

setup.py? –

+0

質問にログを追加しました。 – Lance

+0

フラスコという名前のモジュールはありません。私のrequirement.txtまたはvirtualenvに何か問題がありますか? – Lance

答えて

0

は、最後にそれを考え出しました。私はsetup.pyのためにflask_restful追加する必要が

ログにどのようなエラーメッセージだった

from setuptools import setup 

setup(name='YourAppName', 
     version='1.0', 
     description='OpenShift App', 
     author='Lance', 
     author_email='[email protected]', 
     url='http://www.python.org/sigs/distutils-sig/', 
     install_requires=['flask_restful'], 
    ) 
関連する問題