MySQLdb и Python 3.5 на Windows

Не на всякий Windows легко встанут расширения для Python. Многие хотят быть скомпилированными на лету, а для этого надо тщательно подготовить систему. Однако, благодаря добрым людям, есть альтернатива с бинарными пакетами.

Для подключения и работы с MySQL из Python 3.5 необходима библиотека MySQLdb. На Linux достаточно найти нужную библиотеку и установить ее командой:

pip install mysqlclient

На Windows будет встречена ошибка компилятора. Из вариантов с минимальным количеством танцов доступна только возможность установки бинарной версии библиотеки, которую можно скачать на сайте: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

Выбираем необходимую версию и скачиваем whl-файл. Затем, через командную строку переключаемся в нужное окружение и идем в директорию со скаченным пакетом.

Пример для Win32

cd D:\Downloads
pip install mysqlclient-1.3.7-cp35-cp35m-win32.whl

Пример работы из Python 3.5

import MySQLdb

try:
    conn = MySQLdb.connect(host="localhost", user="developer", 
                           passwd="password", db="test_database")
except MySQLdb.Error as err:
    print("Connection error: {}".format(err))
    conn.close()

sql = "SELECT * FROM users"
    
try:
    cur = conn.cursor(MySQLdb.cursors.DictCursor)
    cur.execute(sql)
    data = cur.fetchall()
except MySQLdb.Error as err:
    print("Query error: {}".format(err))
    
print(data)