首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Python virtualenv 使用系統外 MySQL:改用 mysql-connector-python 純 Python 驅動

     編輯:程式設計綜合問答

問題背景

  • 環境:Windows 8 64bit、Python 2.7、MySQL 5.6.20
  • 原用 MySQL-python-1.2.3.win32-py2.7.exe 系統級安裝,虛擬環境 import MySQLdb 失敗。
  • 虛擬環境隔離導致無法存取系統站點套件。

解決方案:改用純 Python 驅動

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,無需系統級安裝,部署遷移更輕鬆。

安裝成功截圖1 安裝成功截圖2

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved