MySQL-python-1.2.3.win32-py2.7.exe 系統級安裝,虛擬環境 import MySQLdb 失敗。MySQL-python (MySQLdb) 為 C 擴充套件,需編譯安裝,虛擬環境難以直接使用系統安裝版。 推薦改用 Oracle 官方維護的 mysql-connector-python,純 Python 實現,pip 即可直接安裝於虛擬環境。
# 1. 啟用虛擬環境
venv\Scripts\activate
# 2. 安裝純 Python MySQL 驅動
pip install --allow-external mysql-connector-python mysql-connector-python
# 注:舊版 pip 需 --allow-external,新版已移除此參數,直接 pip install mysql-connector-python
# 3. 程式碼調整
import mysql.connector
conn = mysql.connector.connect(
host='localhost',
user='root',
password='password',
database='test_db'
)
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
print(cursor.fetchone())
virtualenv --system-site-packages 建立環境,可見系統套件,但違背隔離初衷。MySQLdb 相關 .pyd、.dll 至虛擬環境 site-packages,極易因版本、架構不符失敗。安裝成功後,虛擬環境可正常連線操作 MySQL,無需系統級安裝,部署遷移更輕鬆。
