DISTRICT 37

なにか

Pythonのドライバがいくつもある件

どのドライバ使えばいいんだってばよ

なんでこんなにあるんだ

ここにいくつもある

MySQL - Python Wiki

で、日本語で情報が検索できたものとしてピックアップしたのがこのへん

概要を表にしてみた

プロダクト python2 python3 備考
PyMySQL PyMySQL3ってのがあったけど今はこれ1本
mysql-connector-python MySQL公式
MySQL-Python × Python3には使えない
mysqlclient × 3を使えないMySQL-Pythonを3に対応したもの

PyMySQL

github.com

PurePythonを謳うドライバ。ググるとだいぶ上位に出てくるので、まずは試そうかなという気持ちにさせられる。python2系とpython3系の両方に対応している。

mysql-connector-python

MySQL :: Download Connector/Python

公式によるドライバ。公式ってことはですよ、あのOracleのサポートでもあるんですよ。心強いですねぇ。これがドライバを試す初めの一歩にはいいと思います。

MySQL-Python

Index of Packages : Python Package Index

古株のドライバらしいんですけどね、python3には対応してないっていう。比較的新参pythonistaなので、僕はpython3を使っている。よってこれはお話になりませんという話。python3に対応するよって言いながらここ何年も進んでいない気がする。

mysqlclient

pypi.python.org

という事で業を煮やしたハッカーが、MySQL-Pythonからforkしていって、しまいにはpython3に対応したというオープンソースならではのプロダクト。WebフレームワークであるDjangoの推奨ドライバにもなっているので導入しておいて損はないかも。

まとめ

mysql-connector-pythonをメインに使って、適材適所で他のドライバを使うのがいいかと。サブとしてDjango用にmysqlclientも入れておくと隙が無い。