不能导入sklearn到Flask应用上的谷歌计算引擎与Apache



我无法将sklearn导入到我在Google Compute Engine linux (Ubuntu 14.04) VM上运行的flask应用程序的init.py文件中。如果我删除import sklearn语句,下面的示例代码将正常工作,但当包含该语句时将无法工作。当超时时,浏览器等待服务器单元的响应。我可以在系统上运行任何其他web应用程序,只要他们不使用sklearn,所以我知道服务器工作正常。

init . py

    from flask import Flask
    import sklearn
    app = Flask(__name__)
    @app.route("/")
    def hello():
        return "Test"
    if __name__ == "__main__":
        app.run()

已经安装了sklearn库,我可以导入它并在其他python文件中使用它而不会出现问题。我还需要导入其他库(numpy, pandas, bs4等)。这个问题特定于sklearn和init.py文件。如果我从终端运行文件,它实际上不会抛出一个错误,就像我试图导入一个没有安装的库一样。当我试图通过互联网连接到它时,它没有反应。

系统中没有其他版本的python。它只是linux虚拟机附带的python 2.7版本。

我遇到的问题是由于apache在sklearn中的C依赖关系不能很好地工作。更多信息可以在这里找到(https://github.com/naturalis/nbclassify/issues/2)。

解决方案:

添加这一行

WSGIApplicationGroup %{GLOBAL}

WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi

中的虚拟主机配置文件(本教程https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps中的第4步)。

应用程序现在工作没有问题。

相关内容

  • 没有找到相关文章

最新更新