You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.9导入mysql.connector报No module named '_version'错误

import mysql.connector触发ModuleNotFoundError: No module named '_version'解决方法

运行环境为Python 3.9,安装mysql-connector-python后导入报错,按以下优先级排查修复:

1. 清理冲突包与损坏安装

该报错90%以上是因为同时安装了多个同名MySQL连接器包、或者pip安装缓存损坏导致包内文件缺失:

  • 先完全卸载所有相关衍生包,避免命名空间冲突:
python -m pip uninstall -y mysql-connector-python mysql-connector mysql-connector-python-rf

注意:mysql-connector、mysql-connector-python-rf均非Oracle官方维护的连接器包,和官方包共用mysql命名空间,混装会直接破坏导入逻辑。

  • 清理pip本地缓存,重新安装适配Python3.9的稳定官方版本:
python -m pip cache purge
python -m pip install mysql-connector-python==8.0.33

2. 校验Python环境匹配度

多版本Python/虚拟环境场景下,经常出现pip装包到A环境、脚本跑在B环境的问题:

  • 在你的脚本开头加入以下两行代码,打印运行脚本实际使用的解释器路径:
import sys
print(sys.executable)
  • 用打印出的解释器绝对路径重新执行安装命令,确保包装到脚本实际运行的环境中。例如打印出的解释器路径为/home/dir/.local/bin/python3.9,则执行:
/home/dir/.local/bin/python3.9 -m pip install mysql-connector-python==8.0.33

3. 校验包文件完整性与权限

  • 进入报错信息提示的包路径:/home/dir/.local/lib/python3.9/site-packages/mysql/connector/,检查目录下是否存在_version.py文件。如果文件不存在,回到第一步完全卸载后重装。
  • 如果文件存在,执行以下命令修复用户目录下包的读取权限,避免权限不足导致Python无法加载模块文件:
chown -R $USER:$USER /home/dir/.local/lib/python3.9/site-packages/

4. 排查工作目录命名冲突

检查脚本所在目录/home/dir/admin/deployment/social/下,是否存在命名为mysql.py的文件、或者名为mysql的自定义文件夹。Python导入模块时会优先读取当前工作目录下的文件,这类同名内容会覆盖官方包的命名空间,导致内部模块加载失败,存在的话直接重命名为非冲突名称即可。

验证修复

执行以下命令测试导入,正常输出版本号即为修复完成:

python -c "import mysql.connector; print('导入成功,连接器版本:', mysql.connector.__version__)"

内容的提问来源于stack exchange,提问作者Evan Gertis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:54:38