PyCharm中无法导入MySQL Connector问题求助
PyCharm中无法导入MySQL Connector问题求助
问题描述
我尝试用Python创建数据库,已经给Python解释器安装了MySQL-connector-python,然后写了如下代码:
import mysql.connector
但运行后终端抛出了以下报错:
Traceback (most recent call last): File "F:\coding\sql-course-materials\SQL Course Materials\mysql.py", line 1, in <module> import mysql.connector File "F:\coding\sql-course-materials\SQL Course Materials\mysql.py", line 1, in <module> import mysql.connector ModuleNotFoundError: No module named 'mysql.connector'; 'mysql' is not a package
问题分析与解决方案
嘿,这个问题我之前也踩过坑!一眼就能看出问题出在你的文件名上——你把自己的脚本命名成了mysql.py,这直接和官方的MySQL Connector库重名了!
Python导入模块时,会优先从当前脚本所在的目录查找模块文件。当你执行import mysql.connector时,Python会错误地把你自己写的mysql.py当成要导入的mysql包,而你的脚本根本不是一个包含connector子模块的包,自然就报错了,还陷入了循环导入的死循环。
解决起来很简单,按这几步来:
- 重命名你的脚本文件:把
mysql.py改成别的名字,比如mysql_demo.py、my_sql_script.py,只要不叫mysql.py就行。
- 重命名你的脚本文件:把
- 清理缓存文件:检查当前目录下有没有
__pycache__文件夹,有的话直接删掉,避免Python加载旧的缓存模块。
- 清理缓存文件:检查当前目录下有没有
- 重新运行脚本:做完上面两步后,再运行你的代码,
import mysql.connector就能正常导入官方库啦!
- 重新运行脚本:做完上面两步后,再运行你的代码,
验证方法
如果还是不确定是否解决了问题,可以在脚本里加一行代码验证:
import mysql print(mysql.__file__)
正常情况下,输出的应该是MySQL Connector库的安装路径,而不是你自己脚本的路径。如果输出的是你脚本的路径,那就说明文件名还是有问题,再检查一遍就行~
备注:内容来源于stack exchange,提问作者KDPK Kasthurisinghe




