我无法将 sklearn 导入到在 Google Compute Engine Linux (Ubuntu 14.04) 虚拟机上运行的 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 VM 附带的普通 python 2.7 版本。
最佳答案
我遇到的问题是 apache 不能很好地工作 sklearn 中的 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 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39651648/