Flask应用程序不在MS Azure云上构建

时间:2016-09-30 11:09:50

标签: python azure flask azure-web-sites

我想在Azure云上部署我的烧瓶Web应用程序。在部署选项中,我选择了GitHub作为烧瓶代码的源目标。成功完成配置测试后,init.py文件现在开始构建; enter image description here

现在,当我转到我的应用程序链接时,它会向我显示此内容; enter image description here

现在,在这一点上,我回到了我的部署选项,它说建筑失败; enter image description here

在第一张图片中可以看到为此建筑物生成的日志失败。除了最后一次测试"性能测试"之外,所有测试都已通过。有没有人遇到过同样的问题?可能是什么原因?

我正在localhost @ port 8000上运行该应用程序。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
  return "Hello World!"

if __name__ == "__main__":
  app.run()

我是否需要在其他IP上运行它?

3 个答案:

答案 0 :(得分:0)

您无法在Web Apps中侦听端口8000。只有端口80或443.您需要从环境中读取端口号,以了解要收听的内容。

答案 1 :(得分:0)

根据您的500错误,我认为某些python软件包未正确安装。

要检查您的代码是否以天真的方式正常工作,请执行以下操作。

  1. 如果您在Windows计算机上进行开发,请将开发计算机中的所有site-packages文件复制到WebApp /site/wwwroot/env/Lib/site-packages文件夹。
  2. 在Azure门户中点击Restart,在浏览器中点击F5
  3. 如果可行,您的部署过程可能会出现问题。主要是图书馆安装引起的。

    首先,检查根文件夹中是否有requirements.txtThis documentation介绍了在Azure WebApp上加载Flask的一些注意事项。当然,仔细阅读第一行的文档将非常有用

    其次,通过FTP登录WebApp并检查包是否正确安装。您可以看到/pip文件夹包含pip.log文件,/site/wwwroot/env/Lib/site-packages文件夹包含其库。

    对于某些您可能需要的文件而不是简单的hello world应用程序,您可能必须将x86 .whl文件与python代码一起推送,因为它们未在x86环境中正确安装。

    此外,为了向外部显示内部错误,请考虑在开发期间应用this option(而不是用于生产)。

答案 2 :(得分:0)

如果您使用Flask工具创建了Azure Webapp,则默认应用程序称为FlaskWebProject1。如果您的应用具有不同的名称,则需要修改web.config文件夹中的wwwroot以反映正确的应用名称。

然后使用Azure门户重新部署或在GIT中更改它并再次推送。