AI智能
改变未来

【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:

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]

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'