Python导入mariadb模块遇ModuleNotFoundError问题求助
解决Python导入mariadb模块报ModuleNotFoundError的问题
核心原因
你的问题本质是Python运行环境与pip安装模块的环境不匹配,手动移动模块文件夹又破坏了C扩展的路径依赖,导致新的错误。以下是针对性的解决步骤:
1. 确认Python与pip的环境一致性
很多时候你用pip install安装的模块,和运行脚本的Python解释器不是同一个版本/环境:
- 打开命令行,分别运行:
python --version pip --version - 检查两个命令输出的Python版本是否一致。如果不一致,用当前运行脚本的Python解释器来安装模块:
这个命令会强制使用python -m pip install mariadbpython命令对应的pip来安装,确保模块安装在当前脚本的运行环境中。
2. 移除手动移动的mariadb文件夹
你把mariadb文件夹移到脚本目录的操作会破坏模块的依赖:mariadb包含编译后的C扩展文件_mariadb.pyd,手动移动后Python无法找到这个二进制文件,所以出现ModuleNotFoundError: No module named 'mariadb._mariadb'。
- 直接删除脚本目录下的
mariadb文件夹,回到正常的安装路径。
3. 修复pip并重新安装mariadb
你的pip有版本检查错误,先更新pip确保安装过程正常:
python -m pip install --upgrade pip
然后卸载并重新安装mariadb:
pip uninstall mariadb -y python -m pip install mariadb
如果安装时出现编译错误(Windows系统常见),需要安装Microsoft Visual C编译工具,并确保勾选C开发组件。
4. 虚拟环境的特殊处理
如果你的脚本是在虚拟环境中运行的:
- 先激活虚拟环境:
C:\path\to\myenv\Scripts\activate - 激活后再安装mariadb:
这样模块会被安装到虚拟环境中,脚本运行时就能识别到。pip install mariadb
内容的提问来源于stack exchange,提问作者Ac0
相关产品推荐
相关产品推荐

