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

初始化

    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 VM随附的python 2.7的原始版本。

最佳答案

我遇到的问题是apkle无法很好地解决sk​​learn中C依赖项的结果。可以在这里找到更多信息(https://github.com/naturalis/nbclassify/issues/2)。

解决方案:

添加此行

WSGIApplicationGroup %{GLOBAL}


在这条线之下

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


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

该应用程序现在可以正常使用了。

关于python - 无法使用Apache将sklearn导入Google Compute Engine上的Flask App中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39651648/

10-14 00:58