将 mysql.connector 导入 Azure Flask 项目

Importing mysql.connector into Azure Flask Project

我正在尝试部署具有 mysql 连接的 Flask 网络应用程序。这是我第一次使用 Azure,刚开始使用 Linux 一切看起来都很混乱。

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

Flask<1

在此阶段网站加载正常。

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

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

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

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

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

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

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

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

Package Management
Packages listed in requirements.txt will be installed automatically in the virtual environment using pip. This happens on every deployment, but pip will skip installation if a package is already installed.

有任何更新,请随时告诉我。