1. 程式人生 > >python使用mysql-connector-python連線mysql時報錯No module named 'mysql.connector'; 'mysql' is not a package

python使用mysql-connector-python連線mysql時報錯No module named 'mysql.connector'; 'mysql' is not a package

情況是這樣的:

我在專案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

問題解決。