情况是这样的:
我在项目A下创建了一个python文件,编写代码
import mysql.connector
mydb = mysql.connector.connect(
host="hostname", # 数据库主机地址
port='port',
user="root", # 数据库用户名
passwd="password", # 数据库密码
database='databasename'
)
print(mydb)
运行时报错,错误信息为
No module named 'mysql.connector'; 'mysql' is not a package
机智的我无路可走,在项目B下创建了一个python文件,把刚刚的代码复制过去,竟然可以运行,很神奇对吧!
可是,为什么会这样呢???没有道理啊!
知道后来,我才发现,项目A下有一个名字叫做 mysql.py 的文件
原来,这个玩意就是万恶之源啊
我的代码
import mysql.connector
直接就找这个mysql.py文件,而不是运行系统自带的mysql模块。
于是我把mysql.py名字改成mysql1.py,效果立竿见影!
看到了吧,我写的代码也跟着改了,这恰恰证明,这个
import mysql.connector
是连接到项目里面的mysql.py文件,而不是连接到系统的mysql模块。
我们再把
import mysql1.connector 改成 import mysql.connector
问题解决。