【问题标题】:Failed to Deploy Flask to Azure将 Flask 部署到 Azure 失败
【发布时间】:2018-06-12 11:30:46
【问题描述】:
我正在尝试将 python flask 部署到 azure 但无法通过。我在Azure上创建了一个api服务
这是我的api 的url,它与python 3 https://textclassifier.azurewebsites.net/ 一起使用
然后我在visual studio上创建了一个默认的flask项目,不改任何代码,直接点击发布。选择我从portal创建的应用服务,在VS发布成功显示输出:
添加文件(TextClassifier\TestFlask__init__.py)。添加路径的 ACL (TextClassifier) 添加路径的 ACL (TextClassifier) 发布成功。 Web App 已成功发布http://textclassifier.azurewebsites.net/ ========== 构建:0 成功,0 失败,1 最新,0 跳过 ========== ===== ===== 发布:1 成功,0 失败,0 跳过 ==========
但是,当我访问 url https://textclassifier.azurewebsites.net/home 时,浏览器显示:“您要查找的资源已被删除、更改名称或暂时不可用”。
我检查了 /home 是否被路由到控制器
谁能帮帮我,我已经卡了好几天了。
【问题讨论】:
标签:
python
web-services
azure
flask
【解决方案1】:
根据我的经验,您的问题是由 azure app python 环境引起的。请参考我的工作步骤,看看错误是否仍然出现。
正如您在 Managing Python on Azure App Service 中找到的那样,Azure 应用服务为您提供了 site extension。您可以在KUDU console 上安装软件包。
第 1 步:创建 azure web 应用并添加扩展(这里是 Python 3.6.1 x64)
第 2 步:发布您的 flask 项目并添加 web.config。
web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="<Your Project Name>.app"/>
<add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
<add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
</appSettings>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python361x64\python.exe|D:\home\Python361x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
</configuration>
第三步:切换到 Kudu CMD 和命令cd Python361x64 和touch get-pip.py 并通过编辑按钮将url https://bootstrap.pypa.io/get-pip.py 的内容复制到get-pip.py 中,然后运行python get-pip.py 以安装pip 工具。
第 4 步:通过python -m pip install pyodbc 安装您需要的任何软件包
希望对您有所帮助。有任何问题,请告诉我。