将Dash应用程序部署到Azure时熊猫无法安装

时间:2018-07-12 11:37:18

标签: python pandas azure

尝试将Dash应用程序部署到Azure时,出现以下错误消息:

https://api.github.com/repos/braverock/quantstrat/zipball/master

然后清理并说“命令pyton setup.py egg_info在D:\ home \ site \ wwwroot \ env \ build \ Pandas中失败,错误代码为1”

我在这里做错了什么?熊猫有问题吗?

1 个答案:

答案 0 :(得分:1)

很有趣的是,我遇到了目前正在处理的Web应用程序完全相同的问题。经过5天的无休止的解决方案尝试,我最终设法将我的应用程序部署到Azure。我的应用程序是Flask网络应用程序,但是过程几乎相同(如果您使用的是Django或Dash)或其他操作。我提供的答案基于解决我的问题的最有用的链接(我检查了太多,但确实成功了!)。

这似乎是Azure的一个已知问题,与Python版本和程序包兼容性有关。这里要检查的第一件事是您正在使用的python版本-如果您已在大于3.4的python版本中创建了虚拟环境,则需要安装Azure Python扩展。可以在您的App Service资源的左侧窗格中的“开发工具”->“扩展”类别下找到。当前,您可以安装的最新Python扩展是3.6.4版。我必须在将python 3.6.5用于我的Web应用程序时安装它:

enter image description here

我使用了Konrad Lyda的以下回答来帮助我解决问题:Using python 3.6 on azure app services - not working despite it is installed as extension。您将必须使用kudu控制台并添加 .skipPythonDeployment 文件来手动安装软件包。在链接中对此进行了全部解释。我设法复制了与突出显示的相同的WSGI_HANDLER错误,并且进一步的研究使我找到了该链接:https://github.com/Cojacfar/FlaskWeb。我知道此链接是针对Flask的,但是项目结构确实可以提供帮助。您将需要向项目添加 web.config 文件(只需从git项目中的web.config文件中获取代码)并将“ WSGI_HANDLER”值替换为您的应用文件名。我的应用程序是在我的views.py文件中定义的,因此我使用的值为“ views.app”。

为我做的那行是:

wsgi_app = app.wsgi_app

,位于您的应用声明下。例如,当我使用Flask和Flask boostrap时,我的应用程序文件中包含以下内容:

app = Flask(__ name __)

bootstrap = Bootstrap(app)

wsgi_app = app.wsgi_app

一旦我所有的代码都放好了,就删除了不需要的所有不必要的文件,并将其部署到Azure,它开始工作!

让我知道你继续。希望这会有所帮助。