Python安装MySQL Connector后运行报未找到mysql模块的解决方法
排查与解决步骤
第一步:定位解释器与包安装的环境错位问题
这是当前报ModuleNotFoundError: No module named 'mysql'的核心触发原因:你之前用全局pip安装包的操作,和VS Code运行Python代码时调用的解释器不属于同一个Python环境,安装的包根本没放进运行代码的解释器能识别的模块路径里。
- 在VS Code的内置终端(不要单独打开系统终端)依次执行两个命令,记录输出的路径:
- 执行
python -c "import sys; print(sys.executable)",会打印当前终端实际调用的Python解释器的完整路径,从你之前的报错日志判断,该路径为c:\program files\python38\python.exe - 执行
pip -V,会打印当前pip工具绑定的Python解释器路径
- 执行
- 如果两个路径不匹配,直接放弃用全局pip安装的逻辑,用即将运行代码的解释器绝对路径执行安装,从根源避免环境错位,对应你当前环境的实际安装命令为:
"c:\program files\python38\python.exe" -m pip install mysql-connector-python
这个命令会强制把包装到当前运行代码的解释器对应的site-packages目录下,不存在路径找不到的问题。
关于mysql-connector-python-rf安装报错的说明
你遇到的error: option --single-version-externally-managed not recognized完全不需要花时间解决:
mysql-connector-python-rf是多年前的第三方维护分支,早已停止更新,和Python3.8自带的新版setuptools存在安装兼容问题- 官方维护的
mysql-connector-python完全适配Python3.8,没有任何适配问题,根本不需要安装这个过时的第三方分支版本。
特殊场景补验
如果完成上述安装步骤后,仍然报模块找不到:
- 回看你之前的安装日志,之前操作曾加了
--user参数,把包装到了用户目录C:\Users\Enrique Rubio\AppData\Roaming\Python\Python38\下。由于你的Python解释器安装在C:\Program Files\这类系统级目录下,默认的模块搜索路径有时不会加载用户目录下的包,此时可以用管理员权限打开VS Code终端,重新执行之前的解释器绝对路径安装命令,不要手动加--user参数。 - 安装完成后,直接在终端执行验证命令:
python -c "import mysql.connector; print(mysql.connector.__file__)",如果能正常打印模块的实际存放路径、没有报错,就可以直接运行你的测试代码了。
内容的提问来源于stack exchange,提问作者Sebastián Rubio
相关产品推荐
相关产品推荐

