0

我正在尝试使用 mysql 连接部署一个 Flask Web 应用程序。这是我第一次使用 Azure,离开 Linux 后这一切似乎都令人困惑。

我的理解是,一个包含在requirements.txt包含所需的包中。当我从 Azure 构建默认的 Flask 应用程序时,文件如下所示:

Flask<1

在这个阶段,网站加载正常。

如果我再添加一行 https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.14.tar.gz 根据这个答案https://stackoverflow.com/a/34489738/2697874

然后在我的views.py 文件中(这似乎与我的旧app.py 文件大致同义)我包括...import mysql.connector

然后我重新启动并重新加载我的网站...然后返回错误The page cannot be displayed because an internal server error has occurred.

错误日志会吐出大量的 html(提供错误日志的方式似乎很奇怪——所以我必须在这里遗漏一些东西)。当我保存到 html 并加载它时,我得到了这个......

在此处输入图像描述

如何在我的 Flask Web 应用程序中包含 mysql.connector 库?

4

1 回答 1

1

根据我的经验,资源https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.14.tar.gz适用于 Linux,而不适用于基于 Windows 的 Azure WebApps,并且该链接现在似乎不可用。

我使用该命令pip search mysql-connector列出了相关的包。然后,我尝试使用mysql-connector而不是mysql-connector-pythonvia pip install,并尝试import mysql.connector在本地 Python 解释器中正常工作。

所以请在mysql-connector==2.1.4使用IDE的项目文件中使用,然后在Azure上重新部署项目并重试。该软件包将按照官方文档的说明自动安装,如下所示。mysql-connector-python==requirements.txt

包管理
requirements.txt 中列出的包将使用 pip 自动安装在虚拟环境中。每次部署都会发生这种情况,但如果已经安装了包,pip 将跳过安装。

任何更新,请随时让我知道。

于 2016-11-23T08:36:26.783 回答