Python Can';t导入EC2上的模块-烧瓶应用程序

Python Can';t导入EC2上的模块-烧瓶应用程序,python,amazon-ec2,flask,apache2,wsgi,Python,Amazon Ec2,Flask,Apache2,Wsgi,我无法在EC2微实例的flask应用程序中导入NumPy、sklearn等模块 在/home/ubuntu目录中,我有一个目录flaskapp,其中包含: flaskapp.py flaskapp.wsgi flaskapp.py中的代码是: import sys import os import shutil import time import traceback from flask import Flask, request, jsonify app = Flask(__name__

我无法在EC2微实例的flask应用程序中导入NumPy、sklearn等模块

在/home/ubuntu目录中,我有一个目录
flaskapp
,其中包含:

  • flaskapp.py
  • flaskapp.wsgi
  • flaskapp.py
    中的代码是:

    import sys
    import os
    import shutil
    import time
    import traceback
    
    from flask import Flask, request, jsonify
    
    app = Flask(__name__)
    
    @app.route('/predict')
    def predict():
        from sklearn.externals import joblib
        import numpy as np
        clf = joblib.load("flaskapp/models/saved_model.pkl")
        print 'model loaded'
        if clf:
            try:
                prediction = list(clf.predict(np.array([['0', '100', '164', '150', '1']])))
                return jsonify({'prediction': prediction})
            except Exception, e:
                return "ERROR" + e
        else:
            print os.getcwd()
            return 'no model here'
    
    
    if __name__ == '__main__':
        from sklearn.externals import joblib
        import numpy as np
        print "Imports Done"
        app.run(DEBUG=True)
    
    flaskapp.wsgi如下所示:

    import sys
    import site
    site.addsitedir('/home/ubuntu/.local/lib/python2.7/site-packages')
    sys.path.insert(0, '/var/www/html/flaskapp')
    from flaskapp import app as application
    
    根据以下问题:

    我将我的
    /etc/apache2/sites enabled/000 default.conf
    (以及可用的站点)修改为:


    问题是apache2无法访问该目录。可悲的是,上面的问题中只有很少的评论,而被接受的答案并不正确

    在此处添加解决方案(如果有帮助):

    sudo chown -R www-data:www-data /home
    
    这应该可以运行

    [Thu Nov 02 22:15:21.936872 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592] [2017-11-02 22:15:21,936] ERROR in app: Exception on /predict [GET]
    [Thu Nov 02 22:15:21.936900 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592] Traceback (most recent call last):
    [Thu Nov 02 22:15:21.936903 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
    [Thu Nov 02 22:15:21.936905 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     response = self.full_dispatch_request()
    [Thu Nov 02 22:15:21.936907 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    [Thu Nov 02 22:15:21.936909 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     rv = self.handle_user_exception(e)
    [Thu Nov 02 22:15:21.936911 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1517, in handle_user_exception
    [Thu Nov 02 22:15:21.936913 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     reraise(exc_type, exc_value, tb)
    [Thu Nov 02 22:15:21.936915 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    [Thu Nov 02 22:15:21.936917 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     rv = self.dispatch_request()
    [Thu Nov 02 22:15:21.936918 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
    [Thu Nov 02 22:15:21.936920 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     return self.view_functions[rule.endpoint](**req.view_args)
    [Thu Nov 02 22:15:21.936922 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]   File "/var/www/html/flaskapp/flaskapp.py", line 37, in predict
    [Thu Nov 02 22:15:21.936924 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592]     import numpy as np
    [Thu Nov 02 22:15:21.936931 2017] [wsgi:error] [pid 11753:tid 140263731681024] [client 130.245.192.4:11592] ImportError: No module named numpy
    
    sudo chown -R www-data:www-data /home
    
    sudo groupadd www-data
    sudo usermod -a -G www-data ubuntu
    sudo chown root:www-data /home
    sudo chmod -R 775 /home