0
点赞
收藏
分享

微信扫一扫

【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,可以发现此模块,但是为什么还是出现不能加载模块的错误呢?

【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named

问题分析

查看当前使用的Python版本为3.8,所以进入3.8版本目录查看,发现没有pymysql模块。

【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named

 

网上搜索 Python 3 和 pymysql 关键字,发现 Python 3 不支持了mysqlbd模块。 而是使用pymysql模块代替。

Python3出现"No module named 'MySQLdb'"问题-以及使用PyMySQL连接数据库

在 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 条评论