将mysql.connector导入Azure Flask Project

时间:2016-11-22 17:20:45

标签: python azure mysql-connector-python

我尝试使用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并加载它时,我得到了这个......

enter image description here

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

1 个答案:

答案 0 :(得分: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-python代替pip install,并尝试使用本地Python解释器中的import mysql.connector

因此,请使用IDE在项目的mysql-connector==2.1.4文件中使用mysql-connector-python==代替requirements.txt,然后在Azure上重新部署项目,然后重试。该软件包将自动安装,如下所述doc

  

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

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