【发布时间】:2018-07-12 11:37:17
【问题描述】:
我在尝试将我的 Dash 应用程序部署到 Azure 时收到以下错误消息:
然后它会清理并显示“命令 pyton setup.py egg_info failed with error code 1 in D:\home\site\wwwroot\env\build\Pandas”
我在这里做错了什么?熊猫有问题吗?
【问题讨论】:
我在尝试将我的 Dash 应用程序部署到 Azure 时收到以下错误消息:
然后它会清理并显示“命令 pyton setup.py egg_info failed with error code 1 in D:\home\site\wwwroot\env\build\Pandas”
我在这里做错了什么?熊猫有问题吗?
【问题讨论】:
有趣的是,我目前正在开发的 Web 应用程序遇到了完全相同的问题。在尝试了 5 天无休止的解决方案后,我最终设法将我的应用程序部署到 Azure。我的应用程序是一个 Flask 网络应用程序,但过程几乎相同(如果您使用的是 Django 或 Dash)或其他任何东西。我根据解决我的问题的最有用的链接提供我的答案(我检查了太多,但这些都成功了!)。
这似乎是 Azure 的一个已知问题,与 Python 版本和包兼容性有关。首先要检查的是您正在使用的 python 版本 - 如果您在大于 3.4 的 python 版本中创建了虚拟环境,那么您将需要安装 Azure Python 扩展。这可以在“开发工具”->“扩展”类别下的应用服务资源的左侧窗格中找到。目前,您可以安装的最新 Python 扩展是 3.6.4 版。我必须在我的网络应用程序中使用 python 3.6.5 时安装它:
我使用了 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,然后它就开始工作了!
让我知道你继续。希望这会有所帮助。
【讨论】: