【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
问题描述
在使用Azure Function创建新的Python Function时,使用MySQLdb连接数据库时候出现 ModuleNotFoundError: No module named 'MySQLdb' ,但是 Kudu (https://yourappservicename.scm.chinacloudsites.cn/ ,Azure Funciton App, App Service高级管理工具 )通过查看Function App中Python Site-Package,可以发现此模块,但是为什么还是出现不能加载模块的错误呢?
问题分析
查看当前使用的Python版本为3.8,所以进入3.8版本目录查看,发现没有pymysql模块。
网上搜索 Python 3 和 pymysql 关键字,发现 Python 3 不支持了mysqlbd模块。 而是使用pymysql模块代替。
Python3出现"No module named 'MySQLdb'"问题-以及使用PyMySQL连接数据库 : https://www.cnblogs.com/kevingrace/p/9721478.html
在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用;
在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用;
解决方法
使用了pymysql模块,并在代码添加了这个pymysql.install_as_MySQLdb()内容,可以成功访问到mysql 。
import pymysql
pymysql.install_as_MySQLdb()
参考资料
Troubleshoot Python errors in Azure Functions:https://docs.microsoft.com/en-us/azure/azure-functions/recover-python-functions?tabs=vscode#troubleshoot-modulenotfounderror
Troubleshoot ModuleNotFoundError
This section helps you troubleshoot module-related errors in your Python function app. These errors typically result in the following Azure Functions error message:
< 198e p>Exception: ModuleNotFoundError: No module named 'module_name'.
This error occurs when a Python function app fails to load a Python module. The root cause for this error is one of the following issues:
- The package can't be found
- The package isn't resolved with proper Linux wheel
- The package is incompatible with the Python interpreter version
- The package conflicts with other packages
- The package only supports Windows or macOS platforms
[END]
- 【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
- 【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
- 【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
- 【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
- 【Azure 应用服务】遇见“无法创建hybrid connection for App Service”的解决办法
- 【Azure 应用服务】App Service for Container中配置与ACR(Azure Container Registry)的RABC权限
- 【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
- 【Azure 应用服务】基于Azure的CI/CD工具链部署App Service
- 【Azure 应用服务】VS2019发布应用到正在运行的App Service时失败问题的解决
- 【Azure 应用服务】Azure Function App 执行PowerShell指令[Get-Azsubscription -TenantId $tenantID -DefaultProfile $cxt]错误
- 【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
- 【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
- 【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)
- 【Azure 应用服务】使用PowerShell脚本上传文件至App Service目录
- 【Azure 应用服务】App Service 默认开放端口说明, 如何禁用Web app的端口号?
- 【应用服务 App Service】在Azure Web App的部署文件中,是否可以限制某些文件无法被访问?(如json)
- 【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
- 【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码渐入最源端
- 在用python操作mysql时报错:ModuleNotFoundError: No module named 'MySQLdb'
- 【Azure 应用程序见解】在Azure门户中,创建App Service(应用服务)时,无法一起创建Application Insights的问题